Какой самый надежный способ получить ширину / высоту окна браузера с помощью JavaScript? - PullRequest
1 голос
/ 08 ноября 2010

Я в настоящее время использую следующие условия, но они не работают в браузерах или вообще не работают:

if (typeof (window.innerHeight) == 'number') {
    //Non-IE:
    //Perform operation using window.innerWidth/Height
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
    //IE 6+ in 'standards compliant mode'
    //Perform operation using document.documentElement.clientWidth/Height
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
    //IE 4 compatible
    //Perform operation using document.body.clientWidth/Height
}

Я полагаю, что мне не хватает одного или двух условий - возможно, есть другое распространенное выражение, которое я не учел.

Что мне нужно добавить, чтобы завершить это?

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Включите jQuery на своих страницах и используйте $(window).width() и $(window).height().

0 голосов
/ 08 ноября 2010

Вам лучше обернуть всю логику в функцию, поэтому вам нужно только сказать: getWindowHeight()

// cross browser window height
function getWindowHeight() {
  return window.innerHeight || 
         (document.documentElement && document.documentElement.clientHeight) || 
         (document.body && document.body.clientHeight);
}

Проверено : IE5.5 +, FF 2+, Chrome, Opera

Но для еще более надежного подхода посетите страницу с часто задаваемыми вопросами о comp.lang.javascript:
Как узнать размерокно?

...