태그 보관물: internet-explorer-11

internet-explorer-11

Internet Explorer 11 탐지 감지하려고했습니다. ‘ Jquery가 IE 11을

IE 11에는 다른 모든 IE와 다른 사용자 에이전트 문자열이 있음을 알고 있습니다.

 Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko

이 질문에 대한 답변이 지정된 IE 11을 감지하려고했습니다. ‘

Jquery가 IE 11을 감지하지 못함

Thats !!navigator.userAgent.match(/Trident\/7\./)

하지만 오류가 발생합니다
Object not found and needs to be re-evaluated.

그런 다음 IE11에서 개발자 콘솔을 열고 미리 정의 된 일부 자바 스크립트 개체에 액세스하려고 시도했지만 여전히 동일한 오류가 발생합니다.

나는 시도했다

navigator.userAgent

window.navigator

console.log('test');

누구든지 그것에 대해 어떤 생각이 있습니까?



답변

2016 년 11 월 18 일 수정

이 코드도 작동합니다 ( ActiveX를 사용하지 않고 다른 솔루션을 선호하는 사용자를 위해 )

var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
  // true on IE11
  // false on Edge and other IEs/browsers.

원래 답변

Ie11을 확인하려면 다음을 사용할 수 있습니다.

(또는 이것을 실행 하십시오 )

!(window.ActiveXObject) && "ActiveXObject" in window

IE의 모든 VMS가 있습니다.

주의 사항 : IE11에서는 작동하지 않습니다.

여기에서 볼 수 있듯이 true를 반환합니다.

그래서 우리가 뭘 할 수 있지 :

분명히 그들은 머신 비트 공간을 추가했습니다.

ie11 :

"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko"

ie12 :

"Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko"

그래서 우리는 할 수 있습니다 :

/x64|x32/ig.test(window.navigator.userAgent)

이것은 ie11에 대해서만 true를 반환합니다.


답변

MSIE (버전 6에서 11까지)를 빠르게 검색하려면 :

if(navigator.userAgent.indexOf('MSIE')!==-1
|| navigator.appVersion.indexOf('Trident/') > -1){
   /* Microsoft Internet Explorer detected in. */
}

답변

IE의 버전 9, 10 및 11을 감지하기 위해 다음 기능을 사용합니다.

function ieVersion() {
    var ua = window.navigator.userAgent;
    if (ua.indexOf("Trident/7.0") > -1)
        return 11;
    else if (ua.indexOf("Trident/6.0") > -1)
        return 10;
    else if (ua.indexOf("Trident/5.0") > -1)
        return 9;
    else
        return 0;  // not IE9, 10 or 11
}  

답변

위의 모든 답변은 창이나 탐색기가 없다는 사실을 무시합니다. 🙂

그런 다음 IE11에서 개발자 콘솔을 열었습니다.

그리고 그것이 말하는 곳입니다

개체를 찾을 수 없으며 다시 평가해야합니다.

네비게이터, 창, 콘솔, 그들 중 아무것도 존재하지 않으며 재평가가 필요합니다. 나는 에뮬레이션에서 그것을 가지고 있습니다. 콘솔을 몇 번 닫고 엽니 다.


답변

IE 11 만 감지하는 매우 안전하고 간결한 방법 은

if(window.msCrypto) { /* I'm IE11 for sure */ }

또는 이와 비슷한
var IE11= !!window.msCrypto;


msCryptowindow.crypto객체 의 접두사 버전이며 IE 11에서만 구현됩니다.

https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto


답변

그리고 이것을 구현하는 방법

<script type="text/javascript">
  !(window.ActiveXObject) && "ActiveXObject"
  function isIE11(){
    return !!navigator.userAgent.match(/Trident.*rv[ :]*11\./);
  }
</script>

답변

좋아, 간단하고 IE11 및 IE 11 버전 이하

browserIsIE = navigator.userAgent.toUpperCase().indexOf("TRIDENT/") != -1 || navigator.userAgent.toUpperCase().indexOf("MSIE") != -1;

navigator.userAgent.toUpperCase().indexOf("TRIDENT/") != -1IE 11 버전의
navigator.userAgent.toUpperCase().indexOf("MSIE") != -1경우 IE 11 미만 버전

browserIsIE = navigator.userAgent.toUpperCase().indexOf("TRIDENT/") != -1 || navigator.userAgent.toUpperCase().indexOf("MSIE") != -1;

console.log('Is IE Browser : '+ browserIsIE)