經常使用的 JavaScript 檢測瀏覽器爲 IE 是哪一個版本的代碼,包括是不是最人極端厭惡的 ie6 識別與檢測。javascript
var isIE=!!window.ActiveXObject; var isIE6=isIE&&!window.XMLHttpRequest; var isIE8=isIE&&!!document.documentMode; var isIE7=isIE&&!isIE6&&!isIE8; if (isIE){ if (isIE6){ alert("ie6"); }else if (isIE8){ alert("ie8"); }else if (isIE7){ alert("ie7"); } }
而後是一個稍微短的 js 判斷是否 ie 的方法:
這個貌似是利用 IE 中 JScript所特有的條件編譯(或曰條件註釋)來區分 IE 和非 IE(這裏的IE/非IE均是針對內核而言,以IE爲內核的瀏覽器將視爲IE)java
var ie = 0/*@cc_on+1@*/;
一個最短的 js 判斷 ie 或非 ie 的代碼,大小僅僅 7bytes:數組
var ie = !+'\v1';
2010年1月,一位俄國人利用了IE與標準瀏覽器在處理數組的toString方法的差別,僅6bytes就完美完成了是否IE瀏覽器的檢測:瀏覽器
var ie = !-[1,];
利用這些發現,咱們能夠使代碼寫的更短。現在檢測是否爲 IE6 其實能夠寫成:spa
var ie6=!-[1,]&&!window.XMLHttpRequest;
以前那大段累贅的分析 navigator,而後正則比較的方式,後面的 js 方法是否是效率更高了!code