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