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 相关文章推荐
jQuery层次选择器选择元素使用介绍
Apr 18 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
Oct 10 Javascript
javascript使用正则表达式实现去掉空格之后的字符
Feb 15 Javascript
Google 地图API资料整理及详细介绍
Aug 06 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
Nov 03 Javascript
如何正确理解javascript的模块化
Mar 02 Javascript
vue实现选项卡及选项卡切换效果
Apr 24 Javascript
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 Javascript
vue-router为激活的路由设置样式操作
Jul 18 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 Javascript
js canvas实现俄罗斯方块
Oct 11 Javascript
Vue3中toRef与toRefs的区别
Mar 24 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中echo和print的区别
2014/08/28 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
Python中splitlines()方法的使用简介
2015/05/20 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Django实现跨域请求过程详解
2019/07/25 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
教师个人的自我评价分享
2014/01/02 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
2015党建工作简报
2015/07/21 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
村官2015年度工作总结
2015/10/14 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
Python答题卡识别并给出分数的实现代码
2021/06/22 Python