首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过JavaScript (非Webkit,Next,Version14-)检测旧Opera

如何通过JavaScript (非Webkit,Next,Version14-)检测旧Opera
EN

Stack Overflow用户
提问于 2013-07-29 11:35:06
回答 1查看 780关注 0票数 1

在某些特性中,非Webkit Opera是非常具体,因此通常通过JavaScript 以下列方式来检测.

然而,Opera接下来几乎是谷歌Chrome的克隆版。

我怎么能把目标对准老歌剧而不是下一个目标?

PS:我真的知道浏览器检测很糟糕,而且特征检测规则。但是我希望用一个小的浏览器检测补丁来更新这个正在运行的大型项目,而不是把大量的代码重写成特征检测范例。

EN

回答 1

Stack Overflow用户

发布于 2013-07-29 11:54:20

我找到了问题的源头。在那个项目中浏览器检测不佳。如果您检测到的Opera与问题中给出的联系中的完全相同,则没有检测到是Opera,因此不会执行特定于Opera的代码,而运行特定于Chrome的代码。

代码语言:javascript
复制
 !!window.opera;                      // true in old Opera, false in Opera Next

 navigator.userAgent.indexOf("Opera");//   -------    the same    --------

PS:幸运的是,我在我的项目上有很多测试,所以我可以看出,在新Opera中,一切都和Google完全一样。

一段导致问题的代码试图检测:

代码语言:javascript
复制
/(Opera|OPR)/.test(navigator.userAgent)

结论:歌剧迁移做得很好,在您的项目中什么都不应该破坏。不要发现Opera下一步,只是简单地对待它像往常谷歌Chrome。

更新:以前的Opera版本已经从caniuse.com中消失了

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17922955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档