這篇文章主要介紹了js判斷是否為ie的方法,有需要的朋友可以參考一下
第一種:
代碼如下:
if(window.addEventListener){
alert("not ie");
}else if(window.attachEvent){
alert("is ie");
}else{
alert("這種情況發生在不支持DHTML的老版本瀏覽器(現在一般都支持)")
}
第二種:
代碼如下:
if(document.all){
alert("IE6");
}else{
alert("not ie");
}
第三種:
代碼如下:
var navigatorName = "Microsoft Internet Explorer";
var isIE = false;
if( navigator.appName == navigatorName ){
isIE = true;
alert("ie")
}else{
alert("not ie")
}
第四種:
技術牛人寫的世界上判斷是否IE瀏覽器之最短的js代碼,
代碼如下:
if(!+[1,])alert("這是ie瀏覽器");
else alert("這不是ie瀏覽器");
全世界最短IE判定if(!+[1,])的解釋:
<script type="text/javascript">
alert([1,2]);
//相當於alert([1,2].toString()); --這在IE與非IE上都相同,都會彈出"1,2"
alert([1,]);
//相當於alert([1,].toString());--在非IE的標准瀏覽器上,js引擎會自動刪除最后的",",所以在IE上會彈出"1,",而在非IE上會彈出"1"
alert(+[1,]);
// 根據上面的解釋,這一句在IE上相當於alert(+"1,"),而在非IE上相當於alert(+"1"),正號的作用在於試圖將字符串轉換為數 字,"1,"當然不是數字,而"1"可以轉換為數字1,所以最終的結果:IE上會轉換失敗彈出"NaN",而非IE瀏覽器上會彈出數字"1"
//上面的+號轉換字符串為數字的測試
var
s = +
"5"
;
alert(s+1);
//ok,到這里為止,我們知道 +[1,] 最終在IE為上NaN,在非IE瀏覽器上則為數字1
//下面再來看看很有個性的NaN
alert(NaN==
true
);
//彈出 false
alert(NaN==
false
);
//彈出 false
alert(NaN==NaN);
//彈出 false
//即NaN不管與誰比較都是false
alert(!NaN);
//相當於alert(!(NaN==true)),根據上面的解釋當然是彈出true
//所以,alert(!+[1,]) 最終在IE上會彈出"true",下面再來看看firefox等非IE瀏覽器上的表現
alert(
new
Boolean(0));
//false
alert(
new
Boolean(1));
//true
alert(
new
Boolean(-1));
//true
//即:數字0會轉換為false,其它任何數字都會轉換為true,所以最終在非IE瀏覽器上最終等效於:
alert(!1);
//即
alert(!
true
)
//最終會得到false
//綜上所述:下面的這個判斷就能判定瀏覽器是不是IE
if
(!+[1,]){
alert(
"我是貨真價實的IE瀏覽器!"
)
}
else
{
alert(
"我不是IE!"
)
}
</script>
