有个问题,浏览器信息里面同时有Safari和chrome的字符串
这个是我的浏览器信息的截取:
Chrome/58.0.3029.110 Safari/537.36"
我的谷歌浏览器判断依然是safari浏览器。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>userAgent</title>
</head>
<body>
<input type="button" value="点击获取浏览器信息" id="browser">
<script type="text/javascript">
var btn = document.getElementById('browser');
console.log(btn);
btn.onclick = function(){
var explorer = navigator.userAgent.toLowerCase(),browser;
if (explorer.indexOf("msie")>-1) {
explorer = "IE浏览器";
}else if(explorer.indexOf("firefox")>-1) {
explorer = "火狐浏览器";
}else if(explorer.indexOf("safari")>-1) {
explorer = "Safari";
}else if(explorer.indexOf("chrome")>-1) {
explorer = "Chrome浏览器";
}
alert(explorer);
}
</script>
</body>
</html>
当然,如果把Safari和谷歌浏览器的判断顺序改一下,也能正常判断 但我就好奇,如果别人的safari浏览器信息里如果也会出现chrome字符串,那该怎么办? 求更优方法
正在回答 回答被采纳积分+1
Windows操作系统浏览器判断:
IE浏览器系列:
特征表现:均以 "mozilla/" 开头,"msie x.0;" 中的x表示其版本;
判断方法:粗略判断可以只检索 "msie x.0;" 字符串即可,严格判断可检索 "mozilla/x.0 (compatibal; msie x.0; windows nt",不过一般没有这个必要
Windows版Firefox:
特征表现:以"mozilla/x.0"开头,包含"windows nt","gecko/"和"firefox/" ;
判断方法:粗略判断可以只检索 "firefox/"和"windows nt" 字符串,严格判断可以检索"mozilla/" ,"windows nt","gecko/"和"firefox/" 四个字符串;
Windows版Chrome:
特征表现: 以"mozilla/x.0"开头,包含"windows nt","chrome/",同时包含"applewebkit/","safari/";
判断方法:粗略判断可以只检索 "windows nt"和"chrome/"字符串,严格判断可以同时检索 "mozilla/" ,"windows nt","applewebkit/","safari/","chrome/" 五个字符串;
Windows版Opera:
特征表现:以"opera/"开头,含有"windows nt","presto/" 字符串;
判断方法:粗略判断只检索 "windows nt"和"opera/"字符串,严格判断同时检索 "opera/","windows nt" 和 "presto/";
Windows版Safari:
特征表现:以"mozilla/"开头,同时含有"windows nt","applewebkit/","safari/";
判断方法:粗略判断可以检索含有 "windows nt","safari/" 同时不包含 "chrome/",严格判断需要同时含有"mozilla/","windows nt","applewebkit/","safari/"但是不包含"chrome/";
小结:Windows操作系统上的浏览器userAgent均包含"windows nt"字符串来表征windows操作系统。
希望可以帮到你!
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星