我刚接触jquery,想知道是否有一种简单的方法来检测浏览器是否为Internet Explorer 6或以下版本?
我刚接触jquery,想知道是否有一种简单的方法来检测浏览器是否为Internet Explorer 6或以下版本?
就这么简单:
if($.browser.msie && $.browser.version=="6.0") alert("Im the annoying IE6");
更新
如果您仍需要在jQuery 1.9(或其他已弃用的函数)中使用$.browser,请尝试使用jQuery-migrate(https://github.com/jquery/jquery-migrate/ - http://code.jquery.com/jquery-migrate-1.2.1.js)
jQuery.browser
在1.9版本中已被移除。需要使用插件来替代它。 - Tikkes<!--[if lte IE 6]>
<script type="text/javascript">
var isRunningIE6OrBelow = true;
</script>
<![endif]-->
jQuery检测功能,而非“浏览器”。话虽如此,您可以使用 jQuery.support 方法检测用户的浏览器支持什么。
已弃用的方法(请勿使用)
https://api.jquery.com/jQuery.support 将为您提供哪些功能受到哪些浏览器支持的摘要。利用这些数据,您将开发一些条件检查来确定使用的浏览器是否是目标浏览器。
检测IE的方法非常简单:
if ('v'=='\v') {
welcome to IE ))
}
很遗憾,它不能识别自己的版本,但这并不总是必要的。
ActiveXObject
而不存在XMLHttpRequest
,那么它是IE6。/* IE6 Check */
(!!window.ActiveXObject && !window.XMLHttpRequest) ? true : false;
(!!window.ActiveXObject && !!window.XMLHttpRequest) ? true: false;
参考文献
$.support
,但我从来没有发现它有用过。在我看来,它只是为内部和插件使用而设计的。 - nickf另外一个很好的优点是,使用 JQuery 时你不必担心版本问题。
然而,如果你正在使用 jQuery 来修复 IE6 CSS 渲染 bug,那这并没有什么帮助。
只是想让大家知道,$.browser.msie && /6.0/.test(navigator.userAgent) 不可靠。我曾因为 navigator.userAgent 字符串中包含“Media Center PC 6.0”而遇到 JQuery bgiframe 的问题,于是来到这个问题页面寻找答案。现在,我已经编辑了源代码,使用 $browser.version 测试。
JQuery 废弃这些浏览器测试是愚蠢的,因为它们虽然难看,但却是处理丑陋的浏览器生态系统所必需的。