第一百四十节,JavaScript,封装库--浏览器检测
JavaScript,封装库--浏览器检测
在函数库编写一个,浏览器检测对象
/** sys浏览器检测对象,对象下有两个属性,liu_lan_qi属性和xi_tong属性
* liu_lan_qi属性,检测浏览器名称和版本号,如:alert(sys.liu_lan_qi);
* xi_tong属性,检测浏览器运行环境,如:alert(sys.xi_tong);
**/
(function () { //闭包,自我执行
window.sys = {}; //全局变量对象,保存浏览器信息
var ua = navigator.userAgent.toLowerCase(); //获取浏览器信息,并转化成小写
var s = []; //浏览器信息数组
/**判断IE浏览器**/
if ((/msie ([\d.]+)/).test(ua)) { //IE10以下判断字段为:msie x版本号
s = ua.match(/msie ([\d.]+)/); //如果有获取到msie x版本号返回数组
sys.liu_lan_qi = '浏览器为IE:' + s[1]; //向sys对象添加liu_lan_qi属性,属性值等于获取到的数组第二个元素
} else if ((/trident/).test(ua)) { //ie10以上判断字段为:trident
s = ua.match(/rv:([\d.]+)/); //如果有获取到trident字段返回数组
sys.liu_lan_qi = '浏览器为IE:' + s[1];
}
/**判断火狐浏览器**/
if ((/firefox\/([\d.]+)/).test(ua)) { //火狐判断字段为:firefox
s = ua.match(/firefox\/([\d.]+)/);
sys.liu_lan_qi = '浏览器为firefox:' + s[1];
}
/**判断谷歌浏览器**/
if ((/chrome\/([\d.]+)/).test(ua)) { //谷歌判断字段为:chrome
s = ua.match(/chrome\/([\d.]+)/);
sys.liu_lan_qi = '浏览器为chrome:' + s[1];
}
/**判断Opera浏览器**/
if ((/opera\/.*version\/([\d.]+)/).test(ua)) { //谷歌判断字段为:opera 与 version
s = ua.match(/opera\/.*version\/([\d.]+)/);
sys.liu_lan_qi = '浏览器为Opera:' + s[1];
}
/**判断Opera浏览器**/
if ((/version\/([\d.]+).*safari/).test(ua)) { //谷歌判断字段为:version 与 safari
s = ua.match(/version\/([\d.]+).*safari/);
sys.liu_lan_qi = '浏览器为Opera:' + s[1];
}
/**判断系统**/
if (Boolean(navigator.platform)) {
sys.xi_tong = '环境系统为:' + navigator.platform;
} else {
alert("无法检测到环境系统")
}
})();
前台js代码
alert(sys.liu_lan_qi);
alert(sys.xi_tong);
第一百四十节,JavaScript,封装库--浏览器检测的更多相关文章
- 第一百四十八节,封装库--JavaScript,菜单切换
第一百四十八节,封装库--JavaScript,菜单切换 首先在封装库封装点击切换方法 /** dian_ji_qie_huan()方法,设置点击切换,将元素设置成点击切换,也就是点击目标元素后,循环 ...
- 第一百四十七节,封装库--JavaScript,滑动导航
JavaScript,封装库--滑动导航 效果图 html <!--滑动导航--> <div id="nav"> <ul class="ab ...
- 第一百五十节,封装库--JavaScript,表单验证--密码验证
封装库--JavaScript,表单验证--密码验证 效果图 html <div id="reg"> <h2 class="tuo">& ...
- 第一百六十节,封装库--JavaScript,ajax注册表单到数据库
封装库--JavaScript,ajax注册表单到数据库 效果图 前台js var biaodan = $().xu_lie_biao_dan($('form').sh_jd()); //序列化获取表 ...
- 【JavaScript 封装库】BETA 4.0 测试版发布!
/* 源码作者: 石不易(Louis Shi) 联系方式: http://www.shibuyi.net =============================================== ...
- 【JavaScript 封装库】BETA 3.0 测试版发布!
/* 源码作者: 石不易(Louis Shi) 联系方式: http://www.shibuyi.net =============================================== ...
- 【JavaScript 封装库】BETA 2.0 测试版发布!
/* 源码作者: 石不易(Louis Shi) 联系方式: http://www.shibuyi.net =============================================== ...
- 【JavaScript 封装库】BETA 1.0 测试版发布!
/* 源码作者: 石不易(Louis Shi) 联系方式: http://www.shibuyi.net =============================================== ...
- 第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器
第三百四十节,Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器 css选择器 1. 2. 3. ::attr()获取元素属性,css选择器 ::text获取标签文本 举例: extr ...
随机推荐
- json字符串 与 json对象 的相互转换
var obj=JSON.parse(jsonstr); // 将json字符串转换成json对象 var str=JSON.stringify(jsonobj); // 将json对象转换成json ...
- dubbo-monitor安装监控中心,管理控制台安装网页一直访问不到,解决bug的方式记录
问题再现 第一步,重启机器 第二步,按照dubbo-monitor需要开启的服务,顺序逐一进行启动,之前的推翻全部重新再走一遍就通了,千万不能死磕...很浪费时间.... 通过打印日志追踪问题的所在. ...
- node了解
学习资料 廖雪峰的官方网站—node.js Node.js 中文网:http://nodejs.cn/ Node.js 教程(菜鸟教程):http://www.runoob.com/nodejs/no ...
- linux 安装mysql 5.6.11
tar zxvf mysql-.tar.gz cd mysql- cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql/ -DMYSQL_DATADIR=/home/m ...
- es6 对象简化写法-函数
表达式还可以用于定义方法名. let obj = { ['h' + 'ello']() { return 'hi'; } }; obj.hello() // hi
- 04-spring-控制反转
使用myeclipse开发spring一个Demo. 第一步:新建一个web project. 第二步:安装spring开发的支持包. 安装后多了这几个东西 3,定义一个操作接口: package c ...
- 尚学堂的一个用了ExtJs的页面代码
<html> <head> <meta http-equiv="Content-Type" content="tex ...
- hibernate 多对多单向
多对多会利用中间表做外键的形式关联 package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persi ...
- Docker技术-cgroup
分类: 虚拟化 Docker容器采用了linux内核中的cgroup技术来实现container的资源的隔离和控制. 关于cgroup我们需要了解的它的知识点: 1. 基本概念 cgroup涉及到几个 ...
- DevOps,不是一个传说!
转自: http://www.infoq.com/cn/articles/devops-not-legend DevOps最近成了热词,望文生义,你也能猜个八九不离十,它就是在说"研发团队& ...