第一百四十节,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 ...
随机推荐
- 【ACM】How many prime numbers
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=1&problemid=2 #inclu ...
- CF无法全屏怎么办
方法1:把桌面的分辨率调成800X600,然后运行CF就全屏了,接着再退出游戏,把桌面重新调回原来的分辨率. 方法2:在运行中输入regedit.可以打开打开注册表编辑器,定位到HKEY_LOCAL_ ...
- 使div变成半透明的css样式
.layer { opacity:0.9; filter:alpha(opacity=90); zoom:1; }
- IFA Basics
The inverted-F antenna is shown in Figure 1. While this antenna appears to be a wire antenna, after ...
- CopyOnWriteArrayList操作java.lang.UnsupportedOperationException
问题一:CopyOnWriteArrayList不能强制转换成ArrayList 解决的方法:将CopyOnWriteArrayList传入ArrayList中 ArrayList<T> ...
- html中的标签分类
单标签 <br> <hr> <img> <input> <param> <meta> <link> 双标签 < ...
- java文档 第十一章 其他考量-b
Finalization 和弱引用.软引用.虚引用 Finalization and Weak, Soft, and Phantom References Some applications inte ...
- BAT特殊字符(转)
BAT特殊字符1. 点 与echo连用,作用是换行 示例1 [输出空行] echo. 2 > 定向符[输出] 将命令的输出进行重定向 [一般用于将结果写入文件] 注意 nul 为空设备 > ...
- ajax 上传图片
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 理解x64代码模型
原作者:Eli Bendersky http://eli.thegreenplace.net/2012/01/03/understanding-the-x64-code-models 在编写x64架构 ...