我如何通过使用特征检测来检测浏览器是否为firefox,即(但不是ie6),opera,chrome或safari?
答案 0 :(得分:4)
功能检测不应该告诉您用户正在使用哪个浏览器。它旨在告诉您浏览器是否可以处理您需要做的事情。
例如,如果您需要支持ActiveX,可以检查
if(ActiveXObject) { ... }
这比检查浏览器是否IE更好,因为其他一些浏览器(当前或未来)也可能支持ActiveX。
更有用的示例可能是遍历节点列表时的文本节点检查。
if (!el.tagName || el.tagName != expectedTagName)
el = el.nextSibling; // skip the text node
答案 1 :(得分:0)
对于Safari:我正在使用服务器端路线,即使用Chris Schuld的Browser.php;除了http用户代理之外,关于Safari功能检测的文档很少。
答案 2 :(得分:0)
我正在寻找答案,想想也许有人解决了我的问题。 像许多人一样,我最终写了自己的:
try {
if (ActiveXObject != undefined) {
alert("we have activex");
}
}
catch (err)
{
alert(err.message);
}
您当然希望自定义您的实施。我的例子只显示了基本逻辑。 HTH!