在某些特性中,非Webkit Opera是非常具体,因此通常通过JavaScript 以下列方式来检测.
然而,Opera接下来几乎是谷歌Chrome的克隆版。
我怎么能把目标对准老歌剧而不是下一个目标?
PS:我真的知道浏览器检测很糟糕,而且特征检测规则。但是我希望用一个小的浏览器检测补丁来更新这个正在运行的大型项目,而不是把大量的代码重写成特征检测范例。
发布于 2013-07-29 11:54:20
我找到了问题的源头。在那个项目中浏览器检测不佳。如果您检测到的Opera与问题中给出的联系中的完全相同,则没有检测到是Opera,因此不会执行特定于Opera的代码,而运行特定于Chrome的代码。
!!window.opera; // true in old Opera, false in Opera Next
navigator.userAgent.indexOf("Opera");// ------- the same --------PS:幸运的是,我在我的项目上有很多测试,所以我可以看出,在新Opera中,一切都和Google完全一样。
一段导致问题的代码试图检测:
/(Opera|OPR)/.test(navigator.userAgent)结论:歌剧迁移做得很好,在您的项目中什么都不应该破坏。不要发现Opera下一步,只是简单地对待它像往常谷歌Chrome。
更新:以前的Opera版本已经从caniuse.com中消失了
https://stackoverflow.com/questions/17922955
复制相似问题