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 相关文章推荐
使两个iframe的高度与内容自适应,且相等
Nov 20 Javascript
父子窗体间传递JSON格式的数据的代码
Dec 25 Javascript
jQuery对表单的操作代码集合
Apr 06 Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
Nov 29 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
May 07 Javascript
JS中BOM相关知识点总结(必看篇)
Nov 22 Javascript
jQuery自定义插件详解及实例代码
Dec 29 Javascript
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
JS实现非首屏图片延迟加载的示例
Jan 06 Javascript
jQuery 查找元素操作实例小结
Oct 02 jQuery
原生JS实现飞机大战小游戏
Jun 09 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中的cookie不用刷新就生效的方法
2012/02/04 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
如何利用ES6进行Promise封装总结
2019/02/11 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
微信小程序如何实现精确的日期时间选择器
2020/01/21 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
python logging重复记录日志问题的解决方法
2018/07/12 Python
python 使用shutil复制图片的例子
2019/12/13 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
骨干教师考核方案
2014/05/09 职场文书
支部鉴定材料
2014/06/02 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
文体活动总结
2015/02/04 职场文书
社团个人总结范文
2015/03/05 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书