zoukankan      html  css  js  c++  java
  • 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返回匹配该正则子串 返回数组

  • 相关阅读:
    有效的字母异位词---简单
    字符串中的第一个唯一字符---简单
    整数反转---简单
    使用httpServlet方法开发
    servlet生命周期
    tomcat_user文件的1配置
    selvlet入门自己部署(sevlet接口实现)
    数据库mysql实战
    tomcat的熟悉目录结构
    虚拟主机
  • 原文地址:https://www.cnblogs.com/liaokailin/p/3493962.html
Copyright © 2011-2022 走看看