2012-09-28 59 views
1
<script language = "javascript"> 
    if (navigator.appName == "Microsoft Internet Explorer") { 
begin = navigator.userAgent.indexOf("MSIE ") + 
"MSIE ".length; 
if(navigator.userAgent.indexOf(";", begin) > 0) { 
end = navigator.userAgent.indexOf(";", begin); 
} else { 
end = navigator.userAgent.indexOf(")", begin) 
+ 2; 
} 
document.getElementById("targetDiv").innerHTML = 
"You are using Internet Explorer " + 
navigator.userAgent.substring(begin, end); 
} 
} 
    </script> 

爲什麼在向IE瀏覽器發送條件時,還添加了一個else部分?它的意義和作用是什麼?謝謝,給IE瀏覽器一個條件?

回答

2

你不應該用Javascript來嗅探Internet Explorer。 Welcome to HTML conditional comments

用於檢測IE:

<!--[if IE]> 
    <!-- Add IE script file here --> 
<![endif]--> 

用於檢測任何東西,除了IE:

<!--[if !IE]> --> 
    <!-- Add non-IE script file here --> 
<!-- <![endif]--> 

JavaScript是不是瀏覽器嗅探,因爲你應該只使用一個很好的解決方案作爲「逐步增強」網站的一種方式。如果您的網站在某人沒有啓用Javascript時中斷,那麼這是不可接受的。建立您的網站並使用Javascript來添加創建更好體驗所需的效果。

如果您已經有一種檢測Internet Explorer的本機方式,則尤其如此。爲什麼不使用可在所有瀏覽器中工作的方法,而不是隻能在僅允許使用Javascript的瀏覽器中使用的方法?你永遠不能確定。

+1

您的'非IE'檢查被破壞。 –

+0

呃,固定。謝謝傑里米! – cereallarceny