如何通过 JavaScript 检测浏览器是否在 iOS 11 上的 Safari 中运行?

3

我希望能够检测到我的网页中的JS代码是否在支持一些新功能的iOS 11上的Safari浏览器中运行。

我可以进行类似以下的操作:

if (window.navigator.userAgent.includes('OS 11_0')) {
    // iOS 11
}

但我认为这被认为是不可靠的。

是否有一些仅适用于iOS 11而不适用于其他操作系统的功能或黑客可以用于检测该版本,而无需检查userAgent

更新:我正在谈论getUserMedia,所以我不确定是否有一种方法可以在不触发麦克风许可请求的情况下测试它的存在。


这是许多问题的重复,请先搜索。而且你无法可靠地做到这一点。 - RobG
@JaromandaX 那么可以测试的功能是什么?例如 if ('blah blah' in window) { // then } - user6269864
@RobG 我不是在问如何检测任何操作系统,我只是在问关于这个特定浏览器上的iOS版本。例如,关于如何检测IE11的问题对我来说是无关紧要的。 - user6269864
@JaromandaX提供了非常有用的建议,谢谢。但我正在寻找尝试检测iOS 11并分享他们经验的人。 - user6269864
“支持一些新功能” - 你不能测试这些功能吗? - nnnnnn
显示剩余2条评论
1个回答

3

请查看这个解决方案,然后你可以做如下操作:

ver = iOSversion();

if (ver[0]==11) {
    // do something
}

共享代码段也可以用来检测任何特定的iOS版本,如iOS 2。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接