注意:看文章要去我精华,去我糟粕,自己多加调试

这与《【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都不行,亲测。

具体代码如下:

[javascript] view plaincopy
  1. <script type="text/javascript">
  2. if($.browser.msie){
  3. alert("IE浏览器");
  4. if($.browser.version<8){
  5. alert("IE7及其以下");
  6. }
  7. else{
  8. alert("IE8及其以上");
  9. }
  10. }
  11. else if($.browser.webkit){
  12. alert("苹果的Safari、谷歌的Chrome浏览器");
  13. }
  14. else if($.browser.mozilla){
  15. alert("野狐禅FireFox浏览器");
  16. }
  17. else if($.browser .opera){
  18. alert("Opera浏览器");
  19. }
  20. </script>

由于就几个弹框就不展示了。

这里就是利用到$.browser.version。也是主要判断IE7与非IE7足矣,因为部分代码在IE7以上与以下的实现实在是不同……

对于jQuery 1.9以上的版本,由于移除了$.browser,一般自己利用正则表达式定义$.browser.version几个来判断:

[javascript] view plaincopy
  1. $.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());
  2. $.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
  3. $.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
  4. $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());

然后利用IE6没有的的属性来判断IE6:

[javascript] view plaincopy
  1. ('undefined' == typeof(document.body.style.maxHeight)) {}

如果判断IE8则利用leadingWhitespace。leadingWhitespace:如果在使用innerHTML的时候浏览器会保持前导空白字符,则返回true,目前在IE 6-8中返回false。

[javascript] view plaincopy
  1. if (!$.support.leadingWhitespace) {}

不使用Jquery直接利用Javascript则更为复杂,主要是对navigator.appName,navigator.appVersion两个浏览器标示属性进行字符串方法切割,再来判断。这里就不贴代码了。有兴趣看看不同的浏览器,alert(navigator.appName+","+navigator.appVersion);是什么鬼。比如IE8就是:

之后你就对这些字符串慢慢用字符串方法切割。

【jQuery】判断浏览器类型和版本相关推荐

  1. JavaScript判断浏览器类型及版本

    JavaScript判断浏览器类型及版本 你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有 ...

  2. JS判断浏览器类型及版本

    判断浏览器类型及版本 function getBroswer(){var os = navigator.platform; var userAgent = navigator.userAgent; v ...

  3. 判断浏览器类型及版本

    公司前段时间做项目需要判断浏览器,因为项目进度急暂时只支持一种浏览器 使用window.navigator.userAgent属性,但是在国产浏览器上遇到了问题,下面这段代码只能判断内核,但是我想判断 ...

  4. JavaScript判断浏览器类型及版本(新增谷歌的Chrome)

    来源:http://blog.tripdev.com/?tid=164 JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript ...

  5. 前端如何判断浏览器类型及版本?

    前言 在网站前端开发中,浏览器兼容性问题让我们手忙脚乱,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本. JavaScript是前端开发的主要语言 ...

  6. JS判断浏览器类型与版本

    这个东西在跨平台前端开发很有用: 在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却 ...

  7. 转: JavaScript判断浏览器类型及版本

    原文http://blog.csdn.net/nileel/archive/2009/04/17/4087159.aspx     <script type="text/javascr ...

  8. js/jquery判断浏览器 停止加载

    JS获取浏览器信息 复制代码代码如下: 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersio ...

  9. js/jquery判断浏览器的方法总结

    JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持 ...

最新文章

  1. shell操作典型案例--FTP操作
  2. 白炽灯可控硅调光程序
  3. Linux基本命令之文件查找、检索
  4. boost::hana::at_key用法的测试程序
  5. Java怎么查找字符串大写_在Java中,如何检查字符串是否包含子字符串(忽略大小写)?...
  6. Linux命令-防火墙命令:iptables
  7. 公开课 之 心蓝 计算器 (课堂笔记)
  8. python获取日期_python 获取日期
  9. vm驱动程序版本不正确_微软 Win10 版本 2004 获得新版 Intel/Nvidia 显卡驱动程序
  10. java丢硬币boolean_抛硬币模拟器
  11. IT 工作者如何写交接文档
  12. 关于桌面运维工程师的错题本(前言)
  13. 免费开放的电子图书馆
  14. 基于STM32的物联网语音控制智能家居
  15. python 爬虫 爬取 小米有品 全网 商品数据
  16. 23种设计模式-工厂方法模式《辣条工厂》
  17. C++知识整理系列(五)—— auto自动类型
  18. 鸿蒙修复了蓝牙麦克风问题吗,手机变传声器、麦克风?华为P40的隐藏功能你知道吗?...
  19. 空间直线和三维物体之间的交线相关问题
  20. 视觉SLAM十四讲CH3代码解析及课后习题详解

热门文章

  1. nvme协议 sata接口_小Z聊固态:从NVMe协议聊聊SSD接口
  2. 在vi 中设置tab键为4个空格,并显示行号,对文件中的TAB与空格进行相互转换
  3. 应用回归分析之岭回归(Ridge Regression,RR)
  4. 时至今日您仍是我的光芒
  5. 2 TCP/IP 基础知识
  6. STM32F103的JTAG和SWD接口被禁用,无法下载程序 - 解决办法(亲试可用)
  7. 提升用户体验之A/B测试(2)——Sixpack安装
  8. 基于filebeat + logstash的日志收集方案
  9. 怎么把图片转文字?简单好用的转换方法分享
  10. 前端-html 点击 跳转页面