gpt4 book ai didi

javascript - 如何通过 JavaScript 检测旧 Opera(非 Webkit,非 Next,版本 14-)

转载 作者:行者123 更新时间:2023-11-30 17:56:56 26 4
gpt4 key购买 nike

非 Webkit Opera 是 very specific在某些功能中,因此通常通过 JavaScript 检测到 the following way .

但是,Opera Next 几乎是 Google Chrome 的克隆。

如何定位旧 Opera 而不是定位 Opera Next?


PS:我确实知道浏览器检测和功能检测规则很糟糕。但我希望用一个微小的浏览器检测补丁来更新正在运行的大型项目,而不是将大量代码重写为功能检测范式。

最佳答案

我找到了问题的根源。它在该项目中处于错误的浏览器检测状态。如果您检测到 Opera 与 the link given in the question 中的完全一样, Opera Next 未检测到是 Opera,因此不执行 Old-Opera-Specific 代码,而是运行 Chrome-Specific-Code。

 !!window.opera;                      // true in old Opera, false in Opera Next

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

PS:幸运的是,我对我的项目进行了很多测试,所以我可以看出在新的 Opera 中一切都与在 Google Chrome 中完全一样。

导致问题的一段代码试图检测 Opera Old AND Opera Next:

/(Opera|OPR)/.test(navigator.userAgent)

结论:Opera 迁移非常顺利,您的项目中不会出现任何问题。不检测 Opera Next 并像通常的 Google Chrome 一样简单地对待它。

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

关于javascript - 如何通过 JavaScript 检测旧 Opera(非 Webkit,非 Next,版本 14-),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com