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

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

一个可以选择的办法是,在后台设立脚本纪录没有见过的ua,然后根据记录事后去跟进和更新现有的ua库
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
2012-03-21 21:01:10 +08:00
@kokdemo 这个也必须一个一个地匹配了。不过网上应该都有现成的匹配语句。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/30250

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX