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 相关文章推荐
40款非常棒的jQuery 插件和制作教程(系列一)
Oct 26 Javascript
javascript的动态加载、缓存、更新以及复用(一)
Jun 09 Javascript
JavaScript中的6种运算符总结
Oct 16 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
Mar 09 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
Javascript中 toFixed四舍六入方法
Aug 21 Javascript
ztree实现左边动态生成树右边为内容详情功能
Nov 03 Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
Jul 09 Javascript
微信小程序 Storage更新详解
Jul 16 Javascript
webpack常用构建优化策略小结
Nov 21 Javascript
当滚动条滚动到页面底部自动加载增加内容的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中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
网页javascript精华代码集
2007/01/24 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
python抖音表白程序源代码
2019/04/07 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
高中毕业自我鉴定
2013/12/19 职场文书
军训学生自我鉴定
2014/02/12 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
毕业生求职信范文
2014/06/29 职场文书
小学中队活动总结
2015/05/11 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
Golang日志包的使用
2022/04/20 Golang