Ширина HTML DOM + высота видимого окна
Вопрос
Как получить текущую высоту и ширину доступного пространства в браузере, когда он открыт.
Мне не нужна высота всего документа, а только то, что видно на экране.
Решение
Вы можете посмотреть этот пост в блоге , чтобы узнать о методе. , Р>
и вкратце, дайте этот код
function alertSize() {
var myWidth = 0, myHeight = 0;
if(typeof(window.innerWidth) == 'number') {
// Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
}
else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
// IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
}
else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
// IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
window.alert( 'Width = ' + myWidth );
window.alert( 'Height = ' + myHeight );
}
также нужно отметить, что большая часть js framework (jquery, ext, prototype) предоставит функцию для этого (IMHO). Р>
в jQuery:
$(window).width();
$(window).height();
Другие советы
Используйте свойство объектов окна, внутреннюю высоту/ширину, чтобы найти размеры только содержимого веб-страницы.Сюда входят полосы прокрутки.Вот визуальное объяснение -> http://goo.gl/L0cBLA.
Высота:
window.innerHeight
Ширина:
window.innerWidth
<html id="THE_HTML">
<!-- all your stuff... -->
</html>
затем:
document.getElementById('THE_HTML').clientHeight;
Протестировано и работает под IE8 и FF3.6...
Не связан с StackOverflow