js 판단 브라우저와 i 버전 번호 수집

4604 단어 브라우저
function testB () {
    // body...
var isOpera = !!window.opera ||!!window.opr|| navigator.userAgent.indexOf(' OPR/') >= 0;
    // Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined';   // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
//var isSafari =/constructor/i.test(window.HTMLElement)
    // At least Safari 3+: "[object HTMLElementConstructor]"
    
var isChrome = !!window.chrome && !isOpera;              // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode;   // At least IE6

    console.log(" ie:"+  isIE);
    console.log(" chrome:"+  isChrome);
    console.log(" Firefox:"+  isFirefox);
    console.log(" opera:"+ isOpera);
    console.log(" safari:"+isSafari);
    if(isIE){
        var verIEtrue="";
        ///
        verIEtrue = (function(){
    // for-loop saves characters over while
    for( var v = 3,
             // b just as good as a div with 2 fewer characters
             el = document.createElement('b'),
             // el.all instead of el.getElementsByTagName('i')
             // empty array as loop breaker (and exception-avoider) for non-IE and IE10+
             all = el.all || [];
         // i tag not well-formed since we know that IE5-IE9 won't mind
         el.innerHTML = '<!--[if gt IE ' + (++v) + ']><i><![endif]-->',
         all[0];
       );
    // instead of undefined, returns the documentMode for IE10+ compatibility
    // non-IE will still get undefined as before
    return v > 4 ? v : document.documentMode;
}() );
        ///
        console.log("ie :"+  verIEtrue);
    }


}

testB ();

좋은 웹페이지 즐겨찾기