JavaScript检测iOS Firefox

时间:2016-04-24 11:24:32

标签: javascript firefox

这是Append within Append, Iframe within Append in Jquery

的后续行动

我意识到这些代码适用于大多数浏览器,但在Firefox移动iOS中不起作用。任何人都可以告诉我如何检测iOS Firefox,以便我可以向用户显示错误吗?

我读到有关功能检测的现代化,但它似乎没有检测到Firefox如果刷新则不写入iframe。所以我希望现在只显示一个错误。

2 个答案:

答案 0 :(得分:1)

您可以使用window.navigator.userAgent属性通过JS读取user-agent。

请参阅:https://developer.mozilla.org/nl/docs/Web/API/NavigatorID.userAgent

有关Firefox特定值,请参阅:https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference

仍然建议进行功能检查,而不是检查用户代理字符串,因为可能还有其他浏览器无法正常工作。

如果您无法确定要检查哪些特定功能以区分您的情况,您可以在尝试写入iFrame后始终检查是否成功。如此简单地将一些随机数据写入iFrame,尝试将其读回,如果您无法将其读回,则会显示错误消息。这应该适用于您可能从未听说过的浏览器。

答案 1 :(得分:0)

要检测iOS中的Firefox,只有在看到Chrome,Safari和Firefox的用户代理后才完成该操作。我们可以看到“ FxiOS”是它们之间的唯一区别,Firefox user agent string reference 。所有CSS hack都不适用于iOS。

我的解决方案:

function isFirefox() {
  return navigator.userAgent.match("FxiOS");
}