[Internet-Explorer] IE11 का पता कैसे लगाएं?



Answers

IE11 का पता लगाने के लिए !(window.ActiveXObject) && "ActiveXObject" in window उपयोग करें।

किसी भी आईई (प्री-एज, "ट्राइडेंट") संस्करण का पता लगाने के लिए, "ActiveXObject" in window उपयोग करें।

Question

जब मैं आईई का पता लगाना चाहता हूं तो मैं इस कोड का उपयोग करता हूं:

function getInternetExplorerVersion()
{
  var rv = -1;
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}
function checkVersion()
{
  var msg = "You're not using Internet Explorer.";
  var ver = getInternetExplorerVersion();

  if ( ver > -1 )
  {
    msg = "You are using IE " + ver;
  }
  alert( msg );
}

लेकिन आईई 11 लौट रहा है "आप इंटरनेट एक्सप्लोरर का उपयोग नहीं कर रहे हैं"। मैं इसका पता कैसे लगा सकता हूं?




इसे इस्तेमाल करे:

var trident = !!navigator.userAgent.match(/Trident\/7.0/);
var net = !!navigator.userAgent.match(/.NET4.0E/);
var IE11 = trident && net
var IEold = ( navigator.userAgent.match(/MSIE/i) ? true : false );
if(IE11 || IEold){
alert("IE")
}else{
alert("Other")
}



मैं एक सरल विधि का उपयोग कर रहा हूँ:

नेविगेटर ग्लोबल ऑब्जेक्ट में एक संपत्ति टचपॉइंट्स हैं, इंटरनेट एक्सलोरर 11 में एमएसमैक्स टच पॉइंट्स कहा जाता है।

तो यदि आप इसके लिए खोज रहे हैं:

navigator.msMaxTouchPoints !== void 0 

आपको इंटरनेट एक्सप्लोरर 11 मिलेगा।




इसके साथ अधिकांश ब्राउज़रों का पता लगाएं:

var getBrowser = function(){
  var navigatorObj = navigator.appName,
      userAgentObj = navigator.userAgent,
      matchVersion;
  var match = userAgentObj.match(/(opera|chrome|safari|firefox|msie|trident)\/?\s*(\.?\d+(\.\d+)*)/i);
  if( match && (matchVersion = userAgentObj.match(/version\/([\.\d]+)/i)) !== null) match[2] = matchVersion[1];
  //mobile
  if (navigator.userAgent.match(/iPhone|Android|webOS|iPad/i)) {
    return match ? [match[1], match[2], mobile] : [navigatorObj, navigator.appVersion, mobile];
  }
  // web browser
  return match ? [match[1], match[2]] : [navigatorObj, navigator.appVersion, '-?'];
};

https://gist.github.com/earlonrails/5266945




केवल आईई ब्राउज़र के लिए:

var ie = 'NotIE'; //IE5-11, Edge+
    if( !!document.compatMode ) {
        if( !("ActiveXObject" in window) ) ) ie = 'EDGE';
        if( !!document.uniqueID){
            if('ActiveXObject' in window && !window.createPopup ){ ie = 11; }
            else if(!!document.all){
                    if(!!window.atob){ie = 10;}
                    else if(!!document.addEventListener) {ie = 9;}
                    else if(!!document.querySelector){ie = 8;}
                    else if(!!window.XMLHttpRequest){ie = 7;}
                    else if(!!document.compatMode){ie = 6;}
                    else ie = 5;
                }
        }
    }

चेतावनी का उपयोग करें (यानी);

परिक्षण:

var browserVersionExplorer = (function() {
    var ie = '<s>NotIE</s>',
        me = '<s>NotIE</s>';

    if (/msie\s|trident\/|edge\//i.test(window.navigator.userAgent) && !!(document.documentMode || document.uniqueID || window.ActiveXObject || window.MSInputMethodContext)) {
            if (!!window.MSInputMethodContext) {
                ie = !("ActiveXObject" in window) ? 'EDGE' : 11;
            } else if (!!document.uniqueID) {
                if (!!(window.ActiveXObject && document.all)) {
                    if (document.compatMode == "CSS1Compat" && !!window.DOMParser ) {
                        ie = !!window.XMLHttpRequest ? 7 : 6;
                    } else {
                        ie = !!(window.createPopup && document.getElementById) ? parseFloat('5.5') : 5;
                    }
                    if (!!document.documentMode && !!document.querySelector ) {
                        ie = !!(window.atob && window.matchMedia) ? 10 : ( !!document.addEventListener ? 9 : 8);
                    }
                } else ie = !!document.all ? 4 : (!!window.navigator ? 3 : 2);
            }
        }
        
    return ie > 1 ? 'IE ' + ie : ie;
})();

 alert(browserVersionExplorer);

01 जून 2017 अपडेट करें

अब हम कुछ आसान और सरल उपयोग कर सकते हैं:

var uA = window.navigator.userAgent,
    onlyIEorEdge = /msie\s|trident\/|edge\//i.test(uA) && !!( document.uniqueID || window.MSInputMethodContext),
    checkVersion = (onlyIEorEdge && +(/(edge\/|rv:|msie\s)([\d.]+)/i.exec(uA)[2])) || NaN;



मैंने आपके जवाब पढ़े हैं और एक मिश्रण बनाया है। ऐसा लगता है कि विंडोज एक्सपी (आईई 7 / आईई 8) और विंडोज 7 (आईई 9 / आईई 10 / आईई 11) के साथ काम करता है।

function ie_ver(){  
    var iev=0;
    var ieold = (/MSIE (\d+\.\d+);/.test(navigator.userAgent));
    var trident = !!navigator.userAgent.match(/Trident\/7.0/);
    var rv=navigator.userAgent.indexOf("rv:11.0");

    if (ieold) iev=new Number(RegExp.$1);
    if (navigator.appVersion.indexOf("MSIE 10") != -1) iev=10;
    if (trident&&rv!=-1) iev=11;

    return iev;         
}

बेशक अगर मैं 0 लौटाता हूं, तो इसका मतलब है आईई नहीं।




कोणीय जेएस इस तरह से करता है।

msie = parseInt((/msie (\d+)/.exec(navigator.userAgent.toLowerCase()) || [])[1]);
if (isNaN(msie)) {
  msie = parseInt((/trident\/.*; rv:(\d+)/.exec(navigator.userAgent.toLowerCase()) || [])[1]);
}

एमएसआई सकारात्मक संख्या होगी यदि क्रोम, फ़ायरफ़ॉक्स जैसे अन्य ब्राउज़र के लिए आईई और नाएन।

क्यूं कर ?

इंटरनेट एक्सप्लोरर 11 के रूप में, उपयोगकर्ता-एजेंट स्ट्रिंग में काफी बदलाव आया है।

इसे देखें:

msdn # 1 msdn # 2




Links