【问题标题】:How to write if not (Jquery)如果没有怎么写(Jquery)
【发布时间】:2016-03-03 22:56:38
【问题描述】:

您可以检测访问者是否使用移动设备:

if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) {
                // here my codes }

但是如何将这段代码变成一个 if not (获取所有不是这些设备的设备)?

也许是这样的?

if !(/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) {
                // here my codes }

如您所知,我的问题是关于标准语法(我正在学习)。

【问题讨论】:

  • 仅供参考,这是 JavaScript,不是 jQuery。 jQuery 是一个用 JavaScript 语言实现的 DOM 操作框架。
  • 总是可以使用===false ...或者把整个东西包裹在()里面然后做if(!(/Andr......i.test(navigator.userAgent)))
  • 是的@charlietfl,看起来我在寻找什么。如果我将您的解决方案编写为整个代码,会是这样吗? if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) { // here my codes }也许您可以将整个代码作为答案?

标签: jquery if-statement user-agent detect


【解决方案1】:

创建一个变量可能是最好的可读性

var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent);

if(!isMobile){

}

【讨论】:

    【解决方案2】:

    您可以将 if 语句与 else 一起使用。如果不满足 if 语句中的条件,则 else 将触发。

    if(/Android | webOS | iPhone| iPad| iPod| BlackBerry| BB| PlayBook| IEMobile| Windows Phone| Kindle| Silk| Opera Mini/i.test(navigator.userAgent)) {
    
      //code 
    
    }else{
    
      //other code
    
    }
    

    【讨论】:

    • 因为我的问题只是关于“如果不是”,这是否意味着我必须将我的代码放在 else { } 中,并且我可以将 if { } 中的代码留空?
    • 啊。对不起。我误解了你的问题。您不应该使用带有空白 if 的 if/else。最好使用charlietfl的答案。使用 ! if 括号内是正确的方法。不过仅供参考,如果您尝试检测移动设备,最好检查触摸事件(请参阅:stackoverflow.com/a/4819886/6015622)。希望这会有所帮助。
    • 感谢@kravse 的有用建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多