views:

223

answers:

2

Does anyone know how to get the browser height in IE7+ with javascript? I've seen several ways to get the document or the body height but this is not the same. window.innerHeight works fine in firefox and other browsers, but ie doesnt seem to support it. Thanks

A: 

To determine the actual size of the browser window, use the following properties:

Mozilla based browswers

window.innerWidth
window.innerHeight

Microsoft Internet Explorer

document.body.offsetWidth
document.body.offsetHeight

Here is some code that I use:

var winW = 630, winH = 460;

if (navigator.appName.indexOf("Microsoft") == -1) {
 if (navigator.appName=="Netscape") {
  winW = window.innerWidth;
  winH = window.innerHeight;
 }
 if (navigator.appName.indexOf("Microsoft") != -1) {
  winW = document.body.offsetWidth;
  winH = document.body.offsetHeight;
 }
}
Nick Berardi
document.body.offset* is for IE5 (and IE6+ in "quirks mode", which you don't want to be using). In standards mode body is only as high as the page content inside it and you need to look at document.documentElement instead.
bobince
+1  A: 
var windowWidth = -1, windowHeight = -1;

if(typeof(window.innerWidth) == 'number') { //Non-IE
 windowWidth = window.innerWidth;
 windowHeight = window.innerHeight;
} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { //IE 6+ in 'standards compliant mode'
 windowWidth = document.documentElement.clientWidth;
 windowHeight = document.documentElement.clientHeight;
}

That's worked pretty well for me.

smack0007