我已经为我的网站编写了一个 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/