整理了一下浏览器检测的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返回匹配该正则子串 返回数组