2

这个问题很简单,但我还是想问。

这段代码告诉我们用户的浏览器是著名的Opera Mini

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

所以我可以这样使用它:

if (navigator.userAgent.indexOf('Opera Mini') > -1)
    alert('hey! your browser is buggy');

这是if Opera Mini, then有条件的。

如何使正确的短条件if not Opera mini, then

我不确定我应该如何玩-1整数。

4

4 回答 4

3

您可以简单地将其更改为

if (navigator.userAgent.indexOf('Opera Mini') == -1)

如果在用户代理字符串中未找到“Opera Mini”,则返回 true

于 2013-02-23T20:54:34.777 回答
3

来自Opera 文档

检测 Opera Mini:2 种方法:您可以:

  1. 检查用户代理字符串

  2. 检查是否存在operamini 对象

即如果不是 Opera Mini 是:

if (!window.operamini){}

简短、简单、可靠。与可欺骗的用户代理不同。

于 2015-06-03T21:00:51.250 回答
0

使用运算符的另一个选项(可能不太可读)~

if (~navigator.userAgent.indexOf('Opera Mini')) {
    // opera mini
}

if (!~navigator.userAgent.indexOf('Opera Mini')) {
    // not opera mini
}

但是-1,在您熟悉语法之前,与 进行比较可能会更好。

于 2013-02-23T21:00:20.880 回答
0

https://dev.opera.com/articles/opera-mini-and-javascript/

var isOperaMini = Object.prototype.toString.call(window.operamini) === "[object OperaMini]"
于 2016-06-02T08:12:35.303 回答