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 相关文章推荐
通过Mootools 1.2来操纵HTML DOM元素
Sep 15 Javascript
Tinymce+jQuery.Validation使用产生的BUG
Mar 29 Javascript
在JavaScript中获取请求的URL参数[正则]
Dec 25 Javascript
jquery中dom操作和事件的实例学习-表单验证
Nov 30 Javascript
自己做的模拟模态对话框实现代码
May 23 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
Dec 23 Javascript
JavaScript给url网址进行encode编码的方法
Mar 18 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
React 源码中的依赖注入方法
Nov 07 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
Mar 08 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
微信小程序 网络通信实现详解
Jul 23 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
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
PHP基本语法总结
2014/09/06 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
tornado捕获和处理404错误的方法
2014/02/26 Python
python实用代码片段收集贴
2015/06/03 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
Python求一批字符串的最长公共前缀算法示例
2019/03/02 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python自动化测试无法启动谷歌浏览器问题
2019/10/10 Python
学python安装的软件总结
2019/10/12 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
关于圣诞节的广播稿
2014/01/26 职场文书
争先创优公开承诺书
2014/08/30 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
学历证明样本
2015/06/16 职场文书
物业公司管理制度
2015/08/05 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python