我已经为我的网站编写了一个 javascript 代码来检测它是否在移动设备上的 Opera Mini 浏览器上运行。由于 Opera Mini 具有数据保存功能,启用后有时无法正确加载站点,因此我想通过检测使用的浏览器是否为 Opera Mini 来显示消息。

下面发布的代码适用于 iOS 上的 Opera Mini,但不适用于 Android。有什么建议可以使代码也适用于 Android 上的 Opera Mini?

<script type="text/javascript">
 function o(){
   var isMobile = {
    Opera: function() {
        return navigator.userAgent.match(/Opera Mini/i);
                      },
                  };
     if( isMobile.Opera() ) alert('If you are using Opera Mini please disable Data Savings Mode to Have a pleasant browsing experience :)');
             }
 window.onload = o;
</script>

最佳答案

以前从未听说过 Opera Mini,但我用谷歌搜索它并找到了 https://dev.opera.com/articles/opera-mini-and-javascript/ 。基本上,她使用用户代理字符串来确定它是否是 opera mini

var isOperaMini = (navigator.userAgent.indexOf('Opera Mini') > -1);

这与您的方法非常相似。

但是,她也建议您可以使用 window 对象来确定这一点。 “Opera Mini 还包含一个 opermini 对象作为 window 对象的属性。要检查此对象是否存在,请使用以下代码。”
var isOperaMini = Object.prototype.toString.call(window.operamini) === "[object OperaMini]"

如果你仍然不能让它工作,我会提出另一种方法。通过尝试使用保存功能进行保存来解决此问题,如果失败,请使用您打算使用的任何后备保存功能。因此,只要是opera mini,就可以使用数据保存功能,但如果不是opera mini,则使用替代功能。想想这里的尝试/捕获。当然,在检索保存的数据时,您也需要考虑实现。

关于javascript - 使用 Javascript 检测 Opera Mini 浏览器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36653217/

10-13 04:53