公司前段时间做项目需要判断浏览器,因为项目进度急暂时只支持一种浏览器
使用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);
最后上司也没辙,只能判断内核了