所以我正在运行jQuery 1.3.2(是的,它已经很久了,现在我无法升级)。
问题是我正在尝试放弃对我们内部网站的IE6支持并升级浏览器。我有这张支票
if($.browser.msie && $.browser.version=="6.0") {
// do something...
}
但是在测试期间(某些)Firefox用户看到do something
条件并且不应该。以下是我认为可能导致此问题的一些用户代理。
我需要更多的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');
}
相关问题:
答案 0 :(得分:5)
请勿使用浏览器检测。特征检测更好。如果您只想向IE 6用户显示消息或其他内容,我建议您改用conditional comments。
<!--[if IE 6]>
<script type="text/javascript">
// do something...
</script>
<![endif]-->
答案 1 :(得分:1)
在jQuery 1.3中不推荐使用$ .browser属性,并且可以在未来的jQuery版本中将其功能移动到团队支持的插件....
最好尽可能完全避免特定于浏览器的代码。 $ .support属性可用于检测对特定功能的支持,而不是依赖于$ .browser。
您可以使用:
答案 2 :(得分:1)
感谢所有帮助我找到我想要的东西,也许这可能有助于其他人
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');
}
答案 3 :(得分:0)
你可以用这个:
<!--[If IE 6]> Your code here <![endif]-->
仅针对IE6。
http://www.unintentionallyblank.co.uk/2006/09/19/if-internet-explorer-then-do-something-else-a-how-to/
答案 4 :(得分:0)
如果你想要一行脚本来找到IE6及以下版本,你就不能使用条件注释:
if('\ v'==='v'&amp;&amp;!window.XMLHttpRequest){ // 做一点事... }
答案 5 :(得分:0)
您要做的事情是什么,需要知道浏览器是否是IE6?让我们消除它。