判断浏览器类型及版本

公司前段时间做项目需要判断浏览器,因为项目进度急暂时只支持一种浏览器

使用window.navigator.userAgent属性,但是在国产浏览器上遇到了问题,下面这段代码只能判断内核,但是我想判断是什么浏览器而不是根据内核


se 2.X是搜狗浏览器标示,但是无法获取搜狗浏览器版本,最后问了搜狗浏览器技术支持他给了我一个属性window.navigator.userAgent使用的方法点击f12,选择控制台,输入window.SE_VERSION,回车即可,但是js无法使用


接下来是360浏览器,360浏览器连标示也隐藏了,可以从图片看出来


QQ浏览器;QQ浏览器的标示跟版本号都是可以获取的


window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,通过这个属性来判断浏览器类型,这个函数返回一个包含浏览器名称和版本的数组。

此函数可区分ie5.5~ie8、Chrome、Opera、Safair、Firefox这5种常见浏览器。

var ua = window.navigator.userAgent;

ret = "";

if (/Firefox/g.test(ua)) {

ua = ua.split(" ");

ret = "Firefox|" + ua[ua.length - 1].split("/")[1]

} else if (/MSIE/g.test(ua)) {

ua = ua.split(";");

ret = "IE|" + ua[1].split(" ")[2]

} else if (/Opera/g.test(ua)) {

ua = ua.split(" ");

ret = "Opera|" + ua[ua.length - 1].split("/")[1]

} else if (/Chrome/g.test(ua)) {

ret = "Chrome|" + ua[ua.length - 2].split("/")[1]

if (ret.split("|")[1] == "undefined") {

ret = "Chrome|" + ua.substr(ua.lastIndexOf("Chrome/") + 7, 2);

}

} else if (/^apple\s+/i.test(navigator.vendor)) {

ua = ua.split(" ");

ret = "Safair|" + ua[ua.length - 2].split("/")[1]

} else {

ua = ua.split(" ");

ret = "未知浏览器"

}

document.writeln(ret);


最后上司也没辙,只能判断内核了

你可能感兴趣的:(JavaScript,浏览器)