为什么Opera mini 的User-Agent 奇怪地打印在iPad 上?
Why is the User-Agent of Opera mini printed strangely on iPad?
我使用 JavaScript 在 iPad 上打印 Opera mini 的用户代理字符串,如下所示。
alert(navigator.userAgent);
结果是
Mozilla/5.0 (iPad; CPU OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77
我不知道如何检测这个浏览器是 Opera Mini。
Why is the User-Agent of Opera mini printed strangely on iPad?
Opera 16 使用 Webkit 引擎运行,因此使用不同的用户代理。
Webkit 现在支持许多旧版本(使用 Presto 引擎)不支持的功能。
他们更改它的原因最可能是通过许多将阻止旧版 Opera 的 Web 服务器获得,他们经常在其中 欺骗 用户代理,并且在发现 opera mini,将其屏蔽为已过时(请注意,Microsoft 对 Windows phone)
使用了类似的技巧
...how can I detect this browser that is Opera Mini
简答,你不能
更长的答案,有 CSS 功能,如 -o-prefocus
、媒体查询黑客等,您可以在这里找到其中的许多功能:http://browserhacks.com/
这些的缺点是,当浏览器特定 属性 消失时,您的检测也会消失。
相反,采用更具前瞻性的方法并检测功能,例如@supports()
在这个问题上,有一些更有趣的阅读方法,包括如何使用 CSS 和脚本
我使用 JavaScript 在 iPad 上打印 Opera mini 的用户代理字符串,如下所示。
alert(navigator.userAgent);
结果是
Mozilla/5.0 (iPad; CPU OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15G77
我不知道如何检测这个浏览器是 Opera Mini。
Why is the User-Agent of Opera mini printed strangely on iPad?
Opera 16 使用 Webkit 引擎运行,因此使用不同的用户代理。
Webkit 现在支持许多旧版本(使用 Presto 引擎)不支持的功能。
他们更改它的原因最可能是通过许多将阻止旧版 Opera 的 Web 服务器获得,他们经常在其中 欺骗 用户代理,并且在发现 opera mini,将其屏蔽为已过时(请注意,Microsoft 对 Windows phone)
使用了类似的技巧...how can I detect this browser that is Opera Mini
简答,你不能
更长的答案,有 CSS 功能,如 -o-prefocus
、媒体查询黑客等,您可以在这里找到其中的许多功能:http://browserhacks.com/
这些的缺点是,当浏览器特定 属性 消失时,您的检测也会消失。
相反,采用更具前瞻性的方法并检测功能,例如@supports()
在这个问题上,有一些更有趣的阅读方法,包括如何使用 CSS 和脚本