iugo
V2EX  ›  问与答

[JavaScript] 根据 UA 自动跳转问题

  •  
  •   iugo · Sep 8, 2014 · 3861 views
    This topic created in 4438 days ago, the information mentioned may be changed or developed.
    有这样的代码:

    (function(autoswitch){
    if(/midp|wap|mobile/i.test(navigator.userAgent.toLowerCase())){
    autoswitch.location.href = 'http://www.google.com';
    }
    })(window)

    这时可以实现若 UA 包含 midp|wap|mobile 则跳转.

    但如果我想实现「若不包含 ** 则自动跳转」该怎么修改代码呢?
    Supplement 1  ·  Sep 8, 2014
    已解决, 解决方法参见 1, 2, 4 楼回帖.
    10 replies  •  2014-09-09 09:24:10 +08:00
    xjx0524
    xjx0524
    Sep 8, 2014❤️1
    1
    加个!啊 这是一个条件表达式为真跳转,你取个反让他为假不就完了。。。
    iugo
    iugo
    OP
    Sep 8, 2014
    2
    @xjx0524 加在哪里?

    这样写行吗?
    !/midp|wap|mobile/i.test(navigator.userAgent.toLowerCase())
    iugo
    iugo
    OP
    Sep 8, 2014
    3
    @xjx0524 抱歉, 我只懂大概原理, 不懂具体语言规范. 没系统学过某一门语言...
    mengskysama
    mengskysama
    Sep 8, 2014
    4
    if(!(/midp|wap|mobile/i.test(navigator.userAgent.toLowerCase()))){
    xiaojj
    xiaojj
    Sep 8, 2014
    5
    @mengskysama 或了不就得用and吗
    mengskysama
    mengskysama
    Sep 8, 2014
    6
    @xiaojj 三者都不包含在内条件式为真(应该没写错吧
    xjx0524
    xjx0524
    Sep 8, 2014
    7
    @xiaojj /midp|wap|mobile/i 这是一个正则表达式,不是或
    @mengskysama 我觉得这样就是对的
    xiaojj
    xiaojj
    Sep 8, 2014
    8
    @xjx0524 好吧
    yyfearth
    yyfearth
    Sep 9, 2014 via iPad
    9
    不需要 toLowerCase 你的正则已经或大小写了
    yyfearth
    yyfearth
    Sep 9, 2014 via iPad
    10
    已经忽略
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4752 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 01:14 · PVG 09:14 · LAX 17:14 · JFK 20:14
    ♥ Do have faith in what you're doing.