Internet Explorer innerHeight - PullRequest
8 голосов
/ 03 мая 2011

Как вы можете получить window.innerHeight в Internet Explorer. Спасибо.

Ответы [ 5 ]

7 голосов
/ 03 мая 2011
window.getWinSize= function(){
    if(window.innerWidth!= undefined){
        return [window.innerWidth, window.innerHeight];
    }
    else{
        var B= document.body, 
        D= document.documentElement;
        return [Math.max(D.clientWidth, B.clientWidth),
        Math.max(D.clientHeight, B.clientHeight)];
    }
}
2 голосов
/ 19 июня 2015

Простое решение в одну строку:

var WinHeight = window.innerHeight || Math.max(document.documentElement.clientHeight, document.body.clientHeight);
1 голос
/ 03 мая 2011

Это работает в IE9:

document.body.clientHeight
0 голосов
/ 23 июня 2015

В ie9, window.innerHeight и document.body.clientHeight работает только в том случае, если содержимое превышает окно документа.

Надежным решением является использование свойств vw и vh css.

CSS (простой) способ:

/* foce the content to be at 100% with css */
html, body {
    width: 100vw;
    height: 100vh;
}

JS путь:

// make a fitted htmlelement and returns its size.
var get_ie_size=function(){
    var domtest = document.createElement('div');
    domtest.style.display="block";
    domtest.style.width="100vw";
    domtest.style.height="100vh";
    document.body.appendChild(domtest);
    var size = [domtest.offsetWidth,domtest.offsetHeight];
    document.body.removeChild(domtest);
    return size;
};
0 голосов
/ 03 мая 2011

Самый простой способ использовать jQuery. Вот некоторая подробная информация об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...