什麼是IE6等效於Request.UserAgent.ToLower()。Contains(「msie」)?什麼是IE6等效於Request.UserAgent.ToLower()。Contains(「msie」)?
如上所述,它明顯地檢測到IE的任何實例,但我只想拉動IE6用戶,所以我可以顯示一條消息,告訴他們網站會在他們的瀏覽器中奇怪地呈現。我在搜索中找不到答案。
什麼是IE6等效於Request.UserAgent.ToLower()。Contains(「msie」)?什麼是IE6等效於Request.UserAgent.ToLower()。Contains(「msie」)?
如上所述,它明顯地檢測到IE的任何實例,但我只想拉動IE6用戶,所以我可以顯示一條消息,告訴他們網站會在他們的瀏覽器中奇怪地呈現。我在搜索中找不到答案。
如果你真的需要檢測瀏覽器服務器端,使用Request.Browser.Type
,它會返回IE6的「IE6」!
不要。
或者
改爲使用條件註釋。這是定位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>
它普遍認爲,解析用戶代理字符串是邪惡的。
另一個更突出的更新JavaScript:http://code.google.com/p/sevenup/ – 2010-10-06 19:34:31
您可以檢測IE6就像這樣:
if (Request.UserAgent.IndexOf("MSIE 6.0") > -1)
{
// The browser is Microsoft Internet Explorer Version 6.0.
}
然而,你可能不希望這樣做。更好的方法是在客戶端使用jQuery(現在由Microsoft正式支持)處理此問題,並使用功能(對象)檢測代替瀏覽器版本號檢測,這將使您的代碼更健壯,並且將來可以證明。
天哪,這看起來奇怪的類似於MSDN文章的實現! – 2010-10-06 19:18:59
@ p.campbell MSDN是我的朋友。 ;-) – GeneQ 2010-10-06 19:21:12
感謝大家的幫助和建議,最終我只能選擇一個正確的答案,而這個答案最直接的答案是正確的 – korben 2010-10-06 20:51:08