所以我正在运行 jQuery 1.3.2(是的,它很旧,现在我无法升级)。
问题是我正在尝试放弃对我们内部站点的 IE6 支持并升级浏览器。我有这张支票
if($.browser.msie && $.browser.version=="6.0") {
// do something...
}
但在测试期间(一些)Firefox 用户看到了 do something
条件,这是不应该的。以下是我认为可能导致问题的一些用户代理。
- UserAgent:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/535.7(KHTML,如 Gecko)Chrome/16.0.912.75 Safari/535.7
- UserAgent:Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.9.2.23)Gecko/20110920 Firefox/3.6.23
- UserAgent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.7(KHTML,如 Gecko)Chrome/16.0.912.75 Safari/535.7
- UserAgent:Mozilla/5.0(Windows;U;Windows NT 6.1;en-US;rv:1.9.2.25)Gecko/20111212 Firefox/3.6.25
- UserAgent:Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.9.2.12)Gecko/20101026 Firefox/3.6.12
我需要更多的 IE6 验证吗?
注意:最终用户没有安装附加组件。我在想像 IE-Tabs 这样的东西可能会导致问题,但事实并非如此
更新:
下面的所有回复都让我想到了这一点,仍在测试中,但看起来不错。关于如何改进它有什么想法吗?
var ie6 = $.browser.msie && parseInt($.browser.version) === 6 && typeof window['XMLHttpRequest'] !== "object";
if(typeof document.body.style.maxHeight === "undefined" && ie6) {
alert('Your browser is IE6');
}
相关问题:
最佳答案
不要使用浏览器检测。特征检测要好得多。如果你只想向 IE 6 用户显示消息或其他内容,我建议使用 conditional comments相反。
<!--[if IE 6]>
<script type="text/javascript">
// do something...
</script>
<![endif]-->
关于javascript - 对于 IE6 浏览器检测,某些非 IE 浏览器显示为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931729/