2010-10-06 107 views

回答

2

如果你真的需要檢測瀏覽器服務器端,使用Request.Browser.Type,它會返回IE6的「IE6」!

+0

感謝大家的幫助和建議,最終我只能選擇一個正確的答案,而這個答案最直接的答案是正確的 – korben 2010-10-06 20:51:08

0

這有幫助嗎?

Request.UserAgent.ToLower().Contains("msie 6.0"); 

MSDN help doc表明MSIE 6.0爲IE6用戶代理字符串內。

4

不要。

或者

改爲使用條件註釋。這是定位IE版本的正確方法。

輸出這個直接到Web頁面:

<!-- [if lte IE 6] 
<div id="ie6div">This page may not behave correctly in your browser. I suggest you <a href="http://browserupdate.org">update</a> your browser.</div> 
--> 

或者

使用的瀏覽器更新的javascript:

<script type="text/javascript"> 
var $buoop = {} 
$buoop.ol = window.onload; 
window.onload=function(){ 
if ($buoop.ol) $buoop.ol(); 
var e = document.createElement("script"); 
e.setAttribute("type", "text/javascript"); 
e.setAttribute("src", "http://browser-update.org/update.js"); 
document.body.appendChild(e); 
} 
</script> 

它普遍認爲,解析用戶代理字符串是邪惡的。

+0

另一個更突出的更新JavaScript:http://code.google.com/p/sevenup/ – 2010-10-06 19:34:31

2

您可以檢測IE6就像這樣:

if (Request.UserAgent.IndexOf("MSIE 6.0") > -1) 
{ 
    // The browser is Microsoft Internet Explorer Version 6.0. 
} 

然而,你可能不希望這樣做。更好的方法是在客戶端使用jQuery(現在由Microsoft正式支持)處理此問題,並使用功能(對象)檢測代替瀏覽器版本號檢測,這將使您的代碼更健壯,並且將來可以證明。

+0

天哪,這看起來奇怪的類似於MSDN文章的實現! – 2010-10-06 19:18:59

+0

@ p.campbell MSDN是我的朋友。 ;-) – GeneQ 2010-10-06 19:21:12

相關問題