如果不是Opera Mini

时间:2013-02-23 20:50:19

标签: javascript jquery html opera opera-mini

这个问题很简单,但无论如何我想问它。

此代码告诉我们用户的浏览器是着名的 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 个答案:

答案 0 :(得分:3)

您只需将其更改为

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

如果在用户代理字符串

中找不到'Opera Mini',则返回true

答案 1 :(得分:3)

来自Opera doc

  

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

     
      
  1. 检查用户代理字符串

  2.   
  3. 检查是否存在operamini对象

  4.   

即。如果不是Opera Mini:

if (!window.operamini){}

简短,轻松,可靠。与可欺骗的用户代理不同。

答案 2 :(得分:0)

使用~运算符的其他选项(可能不太可读):

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

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

然而,在您熟悉语法之前,最好与-1进行比较。

答案 3 :(得分:0)

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

var isOperaMini = Object.prototype.toString.call(window.operamini) === "[object OperaMini]"