JavaScript detect iOS Firefox

JavaScript detect iOS Firefox

本文关键字:Firefox iOS detect JavaScript      更新时间:2023-09-26

这是 Append in Append, Iframe in Append in Jquery 的后续

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

我读过关于功能检测的现代化,但它似乎没有检测到 Firefox 在刷新时不会写入 iframe。所以我现在只想显示一个错误。

为了在iOS中检测Firefox,我只是在看到Chrome,Safari和Firefox的用户代理后才遵守。我们可以看到"FxiOS"是它们之间的唯一区别,Firefox 用户代理字符串参考.所有CSS黑客都不适用于iOS。

我的解决方案:

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

您可以使用 window.navigator.userAgent 属性使用 JS 读取用户代理。

请参阅: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,尝试读回它,如果你无法读回它,你就会显示你的错误消息。这应该适用于您可能从未听说过的浏览器。