V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
iugo
V2EX  ›  问与答

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

  •  
  •   iugo · 2014-09-08 16:53:21 +08:00 · 3300 次点击
    这是一个创建于 3764 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有这样的代码:

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

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

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

    这样写行吗?
    !/midp|wap|mobile/i.test(navigator.userAgent.toLowerCase())
    iugo
        3
    iugo  
    OP
       2014-09-08 17:06:58 +08:00
    @xjx0524 抱歉, 我只懂大概原理, 不懂具体语言规范. 没系统学过某一门语言...
    mengskysama
        4
    mengskysama  
       2014-09-08 17:27:01 +08:00
    if(!(/midp|wap|mobile/i.test(navigator.userAgent.toLowerCase()))){
    xiaojj
        5
    xiaojj  
       2014-09-08 17:39:48 +08:00
    @mengskysama 或了不就得用and吗
    mengskysama
        6
    mengskysama  
       2014-09-08 17:54:58 +08:00
    @xiaojj 三者都不包含在内条件式为真(应该没写错吧
    xjx0524
        7
    xjx0524  
       2014-09-08 18:26:54 +08:00
    @xiaojj /midp|wap|mobile/i 这是一个正则表达式,不是或
    @mengskysama 我觉得这样就是对的
    xiaojj
        8
    xiaojj  
       2014-09-08 18:29:45 +08:00
    @xjx0524 好吧
    yyfearth
        9
    yyfearth  
       2014-09-09 09:23:52 +08:00 via iPad
    不需要 toLowerCase 你的正则已经或大小写了
    yyfearth
        10
    yyfearth  
       2014-09-09 09:24:10 +08:00 via iPad
    已经忽略
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2871 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:08 · PVG 17:08 · LAX 01:08 · JFK 04:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.