当前位置:  开发笔记 > 编程语言 > 正文

在jQuery中检测Internet Explorer 6或更低版本

如何解决《在jQuery中检测InternetExplorer6或更低版本》经验,为你挑选了6个好方法。

我是jquery的新手并且想知道:是一种检测浏览器是Internet Explorer 6还是以下的简单方法?



1> Aamir Afridi..:

就这么简单:

if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");

更新

请注意,$ .browser是从jQuery的1.9移除

如果您仍然需要在jQuery 1.9(或其他已弃用的函数)中使用$ .browser,请尝试jQuery-migrate(https://github.com/jquery/jquery-migrate/ - http://code.jquery.com/jquery -migrate-1.2.1.js)


...直到他们进入IE版本16.0或8.6.0等.
另一种方法可以是:($ .browser.msie &&/6.0/.test(navigator.userAgent))
注意:`jQuery.browser`在1.9中被删除.需要一个插件.
对于仅检测特定版本的Internet Explorer,Aamir的方法在我看来几乎是完美的.但是,我认为您应该将$ .browser.version的值测试为整数,而不是字符串.然后你可以做更多有趣的事情,比如在文档加载上应用绑定来同时修复IE7和IE6中的常见错误(例如).但我只是从明确的角度来写,我只关心1)Microsoft Internet Explorer,以及2)如果检测到它是什么版本.是否弃用,查询$ .browser和$ .browser.version对我来说是最直接的方法.

2> Alister Bulm..:

你也可以直接问IE.




3> Sampson..:

jQuery检查功能,而不是"浏览器".也就是说,您可以使用jQuery.support方法来检测用户浏览器的功能.

弃用方法(不要使用)

$ .browser

$ .browser.version

$ .boxModel

http://docs.jquery.com/Utilities/jQuery.support将为您提供哪些浏览器支持哪些功能的摘要.获取该数据后,您将开发一些条件检查,以确定所使用的浏览器是否是您的目标浏览器.


这是相关的,如果用户想要检测该功能,但没有jQuery.support方法来检查:"浏览器是否添加了浏览器历史记录的哈希值"等,所以此时更适合检测浏览器版本"它支持.cssFloat和.htmlSerialized?

4> Mithun Sreed..:
if ($.browser.msie && parseInt($.browser.version, 10) <= 6) {
  alert("I'm not dead yet!"); 
}

- 更新

请不是$ .browser是从jQuery的1.9移除



5> Roman..:

检测IE的非常好的方法是:

if ('v'=='\v') {
   welcome to IE )) 
}

不幸的是,它不能识别它的版本,但它并不总是nessecary.



6> Paul Sweatte..:

如果ActiveXObject存在XMLHttpRequest而不存在,则为IE6:

/* IE6 Check */
(!!window.ActiveXObject && !window.XMLHttpRequest) ? true : false;

在IE7中,它将是:

(!!window.ActiveXObject && !!window.XMLHttpRequest) ? true: false;

参考

JavaScriptKit:AJAX

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有