js 浏览器版本检测
整理了一下浏览器检测的js脚本 分享给大家
浏览器检测一般都是在网页打开的时候执行 使用js的闭包来实现页面加载以后执行的脚本
(function(){
//页面加载后执行的脚本
})() ;
检测浏览器版本的js如下:
(function () {
window.sys = {}; //让外部可以访问,保存浏览器信息对象
var ua = navigator.userAgent.toLowerCase(); //获取浏览器信息字符串
var s; //浏览器信息数组,浏览器名称+版本
/*
if ((/msie ([\d.]+)/).test(ua)) {
s = ua.match(/msie ([\d.]+)/);
sys.ie = s[1];
}
if ((/firefox\/([\d.]+)/).test(ua)) {
s = ua.match(/firefox\/([\d.]+)/);
sys.firefox = s[1];
}
if ((/chrome\/([\d.]+)/).test(ua)) {
s = ua.match(/chrome\/([\d.]+)/);
sys.chrome = s[1];
}
if ((/opera\/.*version\/([\d.]+)/).test(ua)) {
s = ua.match(/opera\/.*version\/([\d.]+)/);
sys.opera = s[1];
}
if ((/version\/([\d.]+).*safari/).test(ua)) {
s = ua.match(/version\/([\d.]+).*safari/);
sys.safari = s[1];
}
*/
//通过三目运算符来替换上面的判断
(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\/.*version\/([\d.]+)/)) ? sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? sys.safari = s[1] : 0;
})();
alert(sys.safari); //调用
稍微解析一下: 将sys设置为window对象的属性供外部访问 该属性实质上是一个对象,该对象中保存着各个浏览器的信息
通过正则表达式来获取浏览器的版本号 通过括号来进行分组(/msie ([\d.]+)/) ,match返回匹配该正则子串 返回数组

浙公网安备 33010602011771号