Program Tip

Internet Explorer 8에서 innerWidth를 가져 오는 방법

programtip 2020. 12. 7. 20:36
반응형

Internet Explorer 8에서 innerWidth를 가져 오는 방법


모든 최근 브라우저에서 :

 window.innerWidth // 1920

Internet Explorer 8에서

 window.innerWidth // undefined

IE8에서이 값을 얻는 가장 좋은 방법은 무엇입니까?


innerWidthIE8, 당신이 insteaad을 할 수 없습니다 IE9에 의해 지원됩니다 :

var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;

위의 줄은 IE 및 기타 표준 호환 브라우저의 너비를 제공합니다.


jQuery를 사용 $(window).innerWidth()하면 모든 브라우저에서도 원하는 결과를 얻을 수 있습니다.


이것을 얻기 위해 여전히 다음을 사용합니다.

window.innerWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
window.innerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;

그러나 실제 dom-getter를 모방하려면 https://stackoverflow.com/a/18136089/1250044를 살펴보십시오.


ie8 사용

document.documentElement.clientWidth

나는 innerWidth똑같지 않을 수도 있지만 getBoundingClientRect비슷한 용량으로 사용할 수도 있다는 것을 알고 있습니다 .

elem = document.documentElement.getBoundingClientRect();
width = elem.getBoundingClientRect().right - elem.getBoundingClientRect().left;

IE 8에서이 정보를 얻을 수 있습니다.

document.documentElement.clientWidth

이 값은 IE 9가에 대해 반환하는 값과 정확히 일치하지 않습니다 window.innerWidth.


jQuery를하지 않고 당신이 얻을 시도 할 수 heightwidth

var myWidth = 0, myHeight = 0;
if (typeof (window.innerWidth) == 'number') { //Chrome
     myWidth = window.innerWidth; 
     myHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
     myWidth = document.documentElement.clientWidth; 
     myHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { //IE9
     myWidth = document.body.clientWidth; 
     myHeight = document.body.clientHeight;
}

document.documentElement.clientWidth;

이것은 ie8에서 클라이언트 너비를 얻는 데 사용됩니다.


참고 : .innerWidth 메서드는 창 및 문서 개체에 적용 할 수 없습니다. 이를 위해 대신 .width ()를 사용하십시오.

.innerwidth ()에 대한 jquery api 문서

참고 URL : https://stackoverflow.com/questions/9410088/how-do-i-get-innerwidth-in-internet-explorer-8

반응형