JS获得浏览器版本和操作系统版本的例子


Posted in Javascript onMay 13, 2014

于是,我们可以写出下面的代码:

<script type="text/javascript">
 var Sys = {};
 var ua = navigator.userAgent.toLowerCase();
 var s;
  (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
  (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
  (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
  (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
  (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
 //以下进行测试
 if (Sys.ie) document.write('IE: ' + Sys.ie); 
 if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
 if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
 if (Sys.opera) document.write('Opera: ' + Sys.opera);
 if (Sys.safari) document.write('Safari: ' + Sys.safari);
</script>

其中,采用了 三元运算符 这样的判断表达式来精简代码。判断条件是一条赋值语句,既完成正则表达式的匹配及结果复制,又直接作为条件判断。而随后的版本信息只需从前面的匹配结果中提取即可,这是非常高效的代码。

今后,判断某种浏览器只需用if(Sys.ie)或if(Sys.firefox)等形式,而判断浏览器版本只需用if(Sys.ie == '8.0')或if(Sys.firefox == '3.0')等形式,表达起来还是非常优雅的。

获得操作系统版本:

<script type="text/javascript">
//用于获取系统版本(注意:本方法对Firefox、Chrome无效)
var ua = window.navigator.userAgent;
var osVersion = ua.split(";")[2];
var osV = osVersion.substr(osVersion.length-3,3); 
switch(osV)
{
 case "5.0":
  document.write("Windows2000");
  break;
 case "5.1":
  document.write("WindowsXP");
  break;
 case "5.2":
  document.write("Windows2003");
  break;
 case "6":
  document.write("Windows Vista");
  break;
 case "6.1":
  document.write("Windows 7");
  break;
 default:
 document.write("Others");
}
</script>
Javascript 相关文章推荐
js实现拉伸拖动iframe的具体代码
Aug 03 Javascript
Node.js与PHP、Python的字符处理性能对比
Jul 06 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
微信小程序 form组件详解及简单实例
Jan 10 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
Nov 13 Javascript
Vue Element使用icon图标教程详解(第三方)
Feb 07 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 Javascript
JS多个表单数据提交下的serialize()应用实例分析
Aug 27 Javascript
支付宝小程序实现省市区三级联动
Jun 21 Javascript
JavaScript阻止事件冒泡的方法
Dec 06 Javascript
关于vue-router-link选择样式设置
Apr 30 Vue.js
当滚动条滚动到页面底部自动加载增加内容的js代码
May 13 #Javascript
js语法学习之判断一个对象是否为数组
May 13 #Javascript
js中定义一个变量并判断其是否为空的方法
May 13 #Javascript
jQuery 计算iframe 窗口大小的方法
May 13 #Javascript
js 调用百度地图api并在地图上进行打点添加标注
May 13 #Javascript
两种不同的方法实现js对checkbox进行全选和反选
May 13 #Javascript
js浏览器本地存储store.js介绍及应用
May 13 #Javascript
You might like
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
php常见的魔术方法详解
2014/12/25 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
2015/11/15 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
select组合框option的捕捉实例代码
2008/09/30 Javascript
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
vue实现登录拦截
2020/06/29 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
石油工程专业毕业生求职信
2014/04/13 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
个性与发展自我评价
2015/03/06 职场文书
费城故事观后感
2015/06/10 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016继续教育研修日志
2015/11/13 职场文书
pt-archiver 主键自增
2022/04/26 MySQL
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers