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