什么是IE6相当于Request.UserAgent.ToLower()。包含(“msie”)?

时间:2010-10-06 19:03:39

标签: c# asp.net internet-explorer-6

IE6相当于Request.UserAgent.ToLower()。包含(“msie”)?

如上所述,它显然会检测到IE的任何实例,但我希望只提取IE6用户,这样我就可以显示一条消息,告诉他们网站将在浏览器中呈现奇怪的效果。我在搜索中找不到答案。

4 个答案:

答案 0 :(得分:4)

别。

无论

请改用条件评论。这是定位IE版本的正确方法。

直接将其输出到网页:

<!-- [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> 

人们普遍认为解析User-Agent字符串是邪恶的。

答案 1 :(得分:2)

您可以像这样检测IE6:

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

但是,您可能不想这样做。最好使用jQuery(现在由Microsoft正式支持)在客户端处理此问题,并使用功能(对象)检测而不是浏览器版本号检测,这将使您的代码更加健壮和面向未来。

答案 2 :(得分:2)

如果您确实需要检测浏览器服务器端,请使用Request.Browser.Type,它会为IE6返回“IE6”!

答案 3 :(得分:0)

这有帮助吗?

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

MSDN help doc表示MSIE 6.0位于IE6的用户代理字符串中。