为什么在iPad上奇怪地打印了Opera mini的用户代理?

时间:2018-07-24 10:34:53

标签: javascript browser user-agent opera-mini

我使用如下JavaScript在iPad上打印Opera mini的User-Agent字符串。

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的浏览器。

enter image description here

1 个答案:

答案 0 :(得分:1)

  

为什么Opera mini的User-Agent在iPad上打印出奇怪的字样?

Opera 16与Webkit引擎一起运行,因此使用了不同的用户代理。

使用Webkit,它现在支持许多功能,而旧版本(使用Presto引擎)不支持。

他们更改它的原因,最像是由许多会阻止较旧Opera的Web服务器获得,它们经常是欺骗用户代理,并且在找到 opera mini < / em>,将其阻止为过时(请注意,Microsoft在Windows Phone上做了类似的技巧)

  

...我该如何检测到这个Opera Mini

浏览器

答案简短,你不能

更长的答案,有CSS功能,例如-o-prefocus,媒体查询技巧等,其中许多功能可以在这里找到:http://browserhacks.com/

这些缺点是,当该浏览器特定的属性消失时,您的检测也会消失。

相反,请采用更加面向未来的方法,并使用例如@supports()

在这个问题上,有一些关于同时使用CSS和脚本的有趣的阅读内容