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返回匹配该正则子串 返回数组

  • 相关阅读:
    实时日历
    添加与删除
    php 变量 循环关键词以及方法
    php中各种操作字符串和时间戳的代码关键词
    php中数组相关
    php中普通方法和静态方法的区别以及抽象类和接口
    php设计模式 工厂模式和单例
    面对对象7大原则整理
    PHP中include与require的特点和区别说明
    php基础运算符语句
  • 原文地址:https://www.cnblogs.com/liaokailin/p/3493962.html
Copyright © 2011-2022 走看看