PRA*_*T P -1 jquery browser-detection internet-explorer-8
我的任务是将jQuery放入webapp,需要特定于Internet Explorer 8浏览器的功能(不需要7个).这该怎么做?
在jQuery 1.8中可以做到:
if ($.browser.msie && $.browser.version == '8') { /* does not matter */ }
Run Code Online (Sandbox Code Playgroud)
在版本1.9 $.browser中删除.建议$.support没有帮助.
$.browser从jQuery中弃用了一个原因(从1.3开始).将它用于你想要使用它的东西不是推荐的做法.如果您依赖于某个功能,请测试该功能(这称为功能检测,$.support是执行此操作的一种方法),而不是测试特定浏览器.
如果你真的需要针对旧的IE,请使用条件注释(当旧的IE不再存在时可以轻松删除,并且不会不必要地膨胀其他浏览器):
<!--[if IE 8]>
<script src="my_ie8_specific_stuff.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
在里面my_ie8_specific_stuff.js你可以写任何你需要的东西,它只会在IE8上执行.
<html>元素上的条件类另一种方法是在<html>标记上添加条件注释:
<!--[if IE 8]> <html class="ie8"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
这种聪明而棘手的技术将在IE8中放入一个ie8类html,任何其他浏览器都无法获得它.
您可以在jQuery中轻松检查:
var isIE8 = $('html').hasClass('ie8');
Run Code Online (Sandbox Code Playgroud)