HTML DOM ширина + высота видимого окна

Как получить текущую высоту и ширину доступного пространства в браузере, когда он открыт.

Мне не нужна высота всего документа, только то, что видно на экране.

Ответы

Ответ 1

Вы можете посмотреть этот сообщение в блоге, чтобы увидеть этот метод.

и, короче говоря, введите этот код

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-фреймворков (jquery, ext, prototype) обеспечит функцию для этого (IMHO).

в jQuery:

$(window).width();
$(window).height();

Ответ 2

Используйте свойство window objects, внутреннюю высоту/ширину, чтобы найти размеры только содержимого на веб-странице. Это включает в себя полосы прокрутки. Вот визуальное объяснение → http://goo.gl/L0cBLA.

Высота:

window.innerHeight

ширина:

window.innerWidth

Ответ 3

<html id="THE_HTML">
<!-- all your stuff... -->
</html>

то

document.getElementById('THE_HTML').clientHeight;

Протестировано и работает под IE8 и FF3.6...