Чтобы определить фактический размер (используя javascript) окна браузера, используйте следующие свойства:
в Internet Explorer (режим обратной совместимости):
document.body.offsetWidth, document.body.offsetHeight
в Internet Explorer(стандартный режим, document.compatMode == 'CSS1Compat'):
document.documentElement.offsetWidth, document.documentElement.offsetHeight
в большинстве других браузеров:
window.innerWidth, window.innerHeight
The following code sets the variables winW and winH to the actual width and height of the browser window, and outputs the width and height values. If the user has a very old browser, then winW and winH are set to 630 and 460, respectively.
var winW = 630, winH = 460;
if (document.body && document.body.offsetWidth) {
winW = document.body.offsetWidth;
winH = document.body.offsetHeight;
}
if (document.compatMode=='CSS1Compat' &&
document.documentElement &&
document.documentElement.offsetWidth ) {
winW = document.documentElement.offsetWidth;
winH = document.documentElement.offsetHeight;
}
if (window.innerWidth && window.innerHeight) {
winW = window.innerWidth;
winH = window.innerHeight;
}
document.writeln('Window width = '+winW);
document.writeln('Window height = '+winH);
В вашем браузере этот код выдает следующий вывод:
Window width = 1280
Window height = 675
Примечания:
- Если приведенный выше код выполняется внутри фрейма или фрейма, он даст вам ширину и высоту фрейма.
- Вычисленные ширина и высота не включают строку заголовка, строку меню, строку состояния или панель (и) инструментов - но могут включать в себя горизонтальную и вертикальную полосы прокрутки, если таковые имеются.
- Код, который использует document.body.offsetWidth и offsetHeight, должен выполняться после того, как браузер проанализировал тег.
- Если пользователь изменяет размеры окна браузера, вам может потребоваться пересчитать ширину и высоту (для этого используйте window.onresize).
- Аналогично, если пользователь увеличивает (или уменьшает), вам также может понадобиться пересчитать ширину и высоту.