这是Append within Append, Iframe within Append in Jquery
的后续行动我意识到这些代码适用于大多数浏览器,但在Firefox移动iOS中不起作用。任何人都可以告诉我如何检测iOS Firefox,以便我可以向用户显示错误吗?
我读到有关功能检测的现代化,但它似乎没有检测到Firefox如果刷新则不写入iframe。所以我希望现在只显示一个错误。
答案 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");
}