位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 检测浏览器类型和版本号

提问人:刘团圆发布时间:2020-11-26

■知识点

检测浏览器类型和版本就比较容易,用户只需要根据不同浏览器类型匹配特殊信息即可。

■实例设计

【示例1】下面的方法能够检测当前主流浏览器类型,包括IE、Opera、Safari、Chrome和Firefox浏览器。

var ua = navigator.userAgent.toLowerCase ();

var info ={

    ie : /msie/.test(ua) && !/opera/.test (ua),

    op : /opera/.test(ua〉,

    sa : /version.*safari/.test(ua),

    ch : /chrome/.test(ua),

    ff : /gecko/.test(ua) && !/webkit/.test(ua)

};

在脚本中调用该对象的属性,如果是对应类型浏览器,返回true,否则就返回false。

(info, ie) &&console. log ("IE 浏览器");

(info. op) &&console. log ("Opera 浏览器");

(info. sa) &&console. log ("Safari 浏览器");

(info. ff) &&console. log ("Firefox 浏览器");

(info. ch) &&console. log ("Chrome 浏览器");

【示例2】通过解析navigator对象的userAgent属性可以获得浏览器的完整版本号。针对IE浏览器来说,它是在"MSIE"字符串后面带一个空格,然后跟随版本号及分号。因此,可以设计一个如下的函数获取IE的版本号。

//获取IE浏览器的版本号 

//返回数值,显示IE的主版本号 

function getIEVer(){

    var ua = navigator.userAgent; //获取用户端信息

    var b = ua.indexOf ("MSIE "); //检测特殊字符串"MSIE"的位置

    if(b < 0){

        return 0;

    }

    return parseFloat(ua.substring(b + 5, ua.indexOf("; ",b) ));//截取版本号,并转换为数值

}

直接调用该函数即可获取当前IE浏览器的版本号。

console.log (getlEVer() );        //返回类似数值:10

IE浏览器版本众多,一般可以使用大于某个数字的形式进行范围匹配,因为浏览器是向后兼容的。

【示例3】使用同样的方法可以检测其他类型浏览器的版本号,下面的示例是检测Firefox浏览器的版本号。

function getFFVer(){

    var ua = navigator.userAgent;

    var b = ua.indexOf("Firefox/");

    if(b < 0) {

        return 0;

    }

    return parseFloat(ua.substring (b + 8,ua.lastlndexOf("\ .")));

}

console.log (getFFVer () ) ;     //返回类似数值: 64

    对于Opera等浏览器,可以使用navigator.userAgent属性来获取版本号,只不过其用户端信息与IE有所不同,如Opera/9.02 (Windows NT 5.1; U; en),根据这些格式可以获取其版本号。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部