var userAgent = navigator.userAgent;
if (userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
单独这样写是不正确的
因为Chrome浏览器的userAgent也有Safari字段.
正确的判断方法:
/Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent);
PC端只有Chrome有Safari字段吗?为什么不需要判断其他浏览器?
其实360,QQ等浏览器的userAgent字段也会带有Safari字段,但是由于他们基于Chrome二次开发的,所有也会携带有Chrome字段。
所以「匹配规则:拥有Safari字段,并且没有Chrome字段」就可以了。