JavaScript로 Internet Explorer 11 만 타겟팅하려면 어떻게해야합니까?
JavaScript로 IE11만을 대상으로하는 가장 오류가 발생하기 쉬운 방법은 무엇입니까?
참고 :이 작업은 분석을 위해서만 수행하거나 사용자에게 사용중인 브라우저를 알려야합니다. 다른 모든 것에는 기능 감지가 있습니다.
IE 11의 사용자 에이전트 문자열은 현재 다음과 같습니다.
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko
Windows 10 예 :
Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko
즉, 버전 11.xx에 대해 간단히 테스트 할 수 있습니다.
var isIE11 = /Trident.*rv[ :]*11\./.test(navigator.userAgent);
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
이제 Trident/X
실제 버전 관리가되어야 한다는 사실에 내기를하는 것도 안전 할 것입니다 .
IE11은 UA 문자열에 "Trident"를 유지하지만 MSIE를 삭제합니다. 브라우저를 감지하는 간단한 방법은 IE11 이상 (IE12, IE13 등)입니다.
var isAtLeastIE11 = !!(navigator.userAgent.match(/Trident/) && !navigator.userAgent.match(/MSIE/));
당신이 원하는 경우 만 IE11을 (당신이 IE의 향후 버전이 일치하지 않음),이 작업을 수행 :
var isIE11 = !!(navigator.userAgent.match(/Trident/) && navigator.userAgent.match(/rv[ :]11/));
var isIE11 = !!navigator.userAgent.match(/Trident\/7.0; rv 11/);
출처 : http://www.nczonline.net/blog/2013/07/02/internet-explorer-11-dont-call-me-ie/
다음 패턴을 사용하여 모든 IE 브라우저를 대상으로합니다. IE 11 만 필요한 경우 단축 할 수 있습니다.
/msie|trident|edge/g.test(navigator.userAgent.toLowerCase());
행운을 빕니다!
프레드릭
이 시도,
navigator.sayswho= (function(){
var N= navigator.appName, ua= navigator.userAgent, tem;
var M= ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
M= M? [M[1], M[2]]: [N, navigator.appVersion,'-?'];
return M;
})();
IE = 11 업데이트
이것을 사용하십시오
var isIE11 = navigator.userAgent.match(/Trident\/7.0; rv 11.0/);
http://msdn.microsoft.com/en-us/library/ie/bg182625%28v=vs.85%29.aspx 읽기
ie
IE 버전으로 설정 되거나없는 경우 0으로 설정됩니다. 1에서 11까지 작동하지만 Microsoft가 Trident 엔진을 삭제하면 향후 버전을 감지하지 못할 수 있습니다.
var ie = 0;
try { ie = navigator.userAgent.match( /(MSIE |Trident.*rv[ :])([0-9]+)/ )[ 2 ]; }
catch(e){}
여기에 나와 관련된 더 자세한 답변에 관심이있을 수도 있습니다 .
다음은 모든 브라우저를 감지하는 데 사용할 수있는 스크립트입니다.
<script>
// Opera
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || safari.pushNotification);
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
if (isFirefox==true) {
alert(isFirefox)
$('.container-fluid').css({"overflow-y":"auto","height":"150%"});
}
</script>
ReferenceURL : https://stackoverflow.com/questions/17447373/how-can-i-target-only-internet-explorer-11-with-javascript
'developer tip' 카테고리의 다른 글
SQL Server : 새 ID 열을 추가하고 열을 ID로 채우는 방법은 무엇입니까? (0) | 2021.01.06 |
---|---|
시간 초과로 셸 함수 실행 (0) | 2021.01.06 |
PHP를 사용하여 JSON POST 읽기 (0) | 2021.01.06 |
웹 API 2 라우팅-리소스를 찾을 수 없습니다. (0) | 2021.01.06 |
Java 8 새 날짜 및 시간 API에 대한 JPA 지원 (0) | 2021.01.06 |