繁体   English   中英

确定用户是否实际使用Safari的最佳方法是什么?

[英]What is best way to determine if the user is actually using Safari?

确定用户是否实际使用Safari的最佳方法是什么?

你可能想读http://www.quirksmode.org/js/detect.html然后http://www.quirksmode.org/js/support.html和理解,你能做的最好的是探测用户什么告诉您他们正在使用的浏览器(这将是User_Agent)。 您永远不能100%地确定他们使用的是给定的浏览器,因为您必须依靠从浏览器传输的内容,并且可以在许多地方覆盖它们。

但是,quirksmode.org解决方案通常是处理所有引擎和浏览器中的单个检查的最佳方法。

您是否在使用特定的JavaScript框架,从而可以更准确地确定他们使用的是什么? 您正在使用哪种服务器端语言? (正如其他人所问,为什么只使用Safari?)

其他人已经注意到,浏览器嗅探并不理想,但是在某些情况下,错误仅发生在浏览器中,并且很难检测到。 在这种情况下,您可以进行浏览器嗅探,并希望用户代理字符串有效。 这是Ext-JS的功能。

var ua = navigator.userAgent.toLowerCase();
var isChrome = /\bchrome\b/.test(ua);
var isSafari = !isChrome && /safari/.test(ua);

view-source的第62行:http://dev.sencha.com/deploy/dev/docs/source/Ext.html具有所有Ext浏览器检测的易于阅读的格式。

这很脆弱,可能随着新版本和浏览器的出现而无法使用。

告诉我们为什么要测试野生动物园,因此我们可以确保没有更好的方法来实现您想要的目标。

if(navigator.userAgent.toLowerCase().indexOf("safari") != -1 && navigator.userAgent.toLowerCase().indexOf("chrome") == -1){
    // you code here
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM