这与《【HTML】根据不同的浏览器类型写不同的HTML代码》(点击打开链接)一文是姊妹篇,IE注释能够帮你在网页的HTML根据不同的版本,渲染不同的代码。
此文是在脚本部分利用jQuery判断浏览器类型和版本而执行不同的javascript脚本。
由于直接利用Javascript实现判断浏览器的版本的代码比较复杂,Javascript没有封装接口,Jquery有封装接口,不用写这么多代码,所以直接用Jquery来实现。
不过值得注意的是,jQuery从1.9版开始,移除了$.browser和$.browser.version, 取而代之的是$.support。在更新的 2.0 版本中,将不再支持IE 6/7/8。 以后,如果用户需要支持IE 6/7/8,只能使用 jQuery 1.9。 也就是说,以下的判断仅适用于jQuery 1.9的版本,连jQuery 1.10都不行,亲测。
具体代码如下:
<script type=text/javascript>if($.browser.msie){
alert(IE浏览器);
if($.browser.version
由于就几个弹框就不展示了。
这里就是利用到$.browser.version。也是主要判断IE7与非IE7足矣,因为部分代码在IE7以上与以下的实现实在是不同……
对于jQuery 1.9以上的版本,由于移除了$.browser,一般自己利用正则表达式定义$.browser.version几个来判断:
$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());$.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
$.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
$.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
然后利用IE6没有的的属性来判断IE6:
('undefined' == typeof(document.body.style.maxHeight)) {}
如果判断IE8则利用leadingWhitespace。leadingWhitespace:如果在使用innerHTML的时候浏览器会保持前导空白字符,则返回true,目前在IE 6-8中返回false。
if (!$.support.leadingWhitespace) {}
不使用Jquery直接利用Javascript则更为复杂,主要是对navigator.appName,navigator.appVersion两个浏览器标示属性进行字符串方法切割,再来判断。这里就不贴代码了。有兴趣看看不同的浏览器,alert(navigator.appName+,+navigator.appVersion);是什么鬼。比如IE8就是:
之后你就对这些字符串慢慢用字符串方法切割。
本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程
分页:12
转载请注明
本文标题:[jQuery]判断浏览器类型和版本
本站链接:
分享请点击:
1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
注册 登录