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 ();
test