iugo
V2EX  ›  问与答

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

  •  
  •   iugo · Sep 8, 2014 · 3724 views
    This topic created in 4335 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
        1
    xjx0524  
       Sep 8, 2014   ❤️ 1
    加个!啊 这是一个条件表达式为真跳转,你取个反让他为假不就完了。。。
    iugo
        2
    iugo  
    OP
       Sep 8, 2014
    @xjx0524 加在哪里?

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