V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kokdemo
V2EX  ›  程序员

网站怎么区分手机和电脑?

  •  
  •   kokdemo ·
    kokdemo · 2012-03-21 20:39:15 +08:00 · 3827 次点击
    这是一个创建于 4623 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有些网站可以自动判断设备的区别然后跳转到移动版或者是桌面版,他们是怎么做的?
    我觉得不止一种办法吧
    14 条回复    1970-01-01 08:00:00 +08:00
    gDD
        1
    gDD  
       2012-03-21 20:41:25 +08:00
    一种JavaScript在浏览器判断然后跳转到mobile站,一种是在服务器直接判断然后返回mobile站。
    sNullp
        2
    sNullp  
       2012-03-21 20:42:52 +08:00
    我觉得LZ的问题的答案应该是根据User Agent判断……
    manhere
        3
    manhere  
       2012-03-21 20:44:00 +08:00
    1.User Agent
    2.屏幕尺寸
    kokdemo
        4
    kokdemo  
    OP
       2012-03-21 20:45:00 +08:00
    @gDD 那如果采用了前者的办法,如果用户在mobile站下想要切回正常版的话,这个js会不会又运行一次?
    kokdemo
        5
    kokdemo  
    OP
       2012-03-21 20:49:01 +08:00
    @sNullp ua神马的不是很好伪装么
    gDD
        6
    gDD  
       2012-03-21 20:49:38 +08:00
    @kokdemo 从mobile切回的时候可以加个cookie,这样在正常版里如果检测到cookie就不再跳转到mobile了。
    kokdemo
        7
    kokdemo  
    OP
       2012-03-21 20:51:03 +08:00
    @gDD 囧了,在google上搜了好几个词都搜不出来……我应该搜什么?
    gDD
        8
    gDD  
       2012-03-21 20:51:21 +08:00
    @kokdemo 伪装是用户的事,用户有他的选择,你给用户需要的结果就行。
    sNullp
        9
    sNullp  
       2012-03-21 20:52:23 +08:00
    @kokdemo 既然伪装了ua,本来也就是为了让网站不按照自动的机制返回网页吧。换句话说,这个自动机制本来面向的就是没有可以更改ua的真的只是使用设备上网的用户。
    kokdemo
        10
    kokdemo  
    OP
       2012-03-21 20:52:53 +08:00
    @gDD @sNullp ……有道理,我去试试
    kokdemo
        11
    kokdemo  
    OP
       2012-03-21 20:55:28 +08:00
    @gDD @sNullp 还有,如果用ua方法的话,那手机上那么多种浏览器都有区别,这样是不是没有普适性?
    leiz
        12
    leiz  
       2012-03-21 20:57:38 +08:00
    ua,然后尽可能地做适配。

    一个可以选择的办法是,在后台设立脚本纪录没有见过的ua,然后根据记录事后去跟进和更新现有的ua库
    gDD
        13
    gDD  
       2012-03-21 20:59:35 +08:00
    @kokdemo
    关键词: https://www.google.com/search?q=javascript+detect+mobile
    > http://stackoverflow.com/questions/743129/mobile-detection-using-javascript

    关于cookie的搜不出来,基本原理就是加cookie键值,检测到这个键值就不跳转。
    sNullp
        14
    sNullp  
       2012-03-21 21:01:10 +08:00
    @kokdemo 这个也必须一个一个地匹配了。不过网上应该都有现成的匹配语句。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1796 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.