【发布时间】:2012-02-14 10:43:46
【问题描述】:
所以我正在运行 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, like 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');
}
相关问题:
【问题讨论】:
-
修补您的 jQuery 副本以使用较新(可能已修复)版本的
.browser对象? -
api.jquery.com/jQuery.browser 在规范设计完成之前,该项目一直停留在 jQuery 1.3.2,但我们都知道这是怎么回事……如何“修补您的 jQuery 副本”?跨度>
-
将生成
browser对象的jquery.js内部的源代码替换为新版本的源代码。
标签: javascript jquery internet-explorer-6 browser-detection