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 相关文章推荐
JavaScript自定义DateDiff函数(兼容所有浏览器)
Mar 01 Javascript
Jquery操作js数组及对象示例代码
May 11 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
May 06 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
May 30 Javascript
详解js实现线段交点的三种算法
Aug 09 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
jquery实现(textarea)placeholder自动换行
Dec 22 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
vue项目中axios请求网络接口封装的示例代码
Dec 18 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
Apr 08 Javascript
工作中常用js功能汇总
Nov 07 Javascript
微信小程序实现多行文字滚动
Nov 18 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
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
收集的网上用的ajax之chat.js文件
2007/04/08 Javascript
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
Mootools 1.2教程 类(一)
2009/09/15 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
Javascript如何实现双指控制图片功能
2020/02/25 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
python Celery定时任务的示例
2018/03/13 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
利用Django模版生成树状结构实例代码
2019/05/19 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
任意一块网页内容实现“活”的背景(目前火狐浏览器专有)
2014/05/07 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
cf战队收人广告词
2014/03/14 职场文书
消防安全责任书
2014/04/14 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
创先争优演讲稿
2014/09/15 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
拾金不昧表扬信
2015/01/16 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS