Web 订阅所有【Web】的日志
分享 

ASP程序自动判断是电脑或手机访问网站。

很早就知道百度可以用电脑和手机访问同一个地址,但是网站会自动根据使用的上网终端选择跳转到不同的页面。
曾经试着用JS去判断,但是JS只是浏览器脚本,似乎没有这么强大的功能去获取电脑和手机各种不同浏览器的有效参数,而且一些低端手机干脆就不支持JS,所以还是要用更高级的语言来处理。由于本站是ASP的空间,就用下面的代码做跳转,个人感觉相对靠谱一些。PHP或者JSP也可以尝试这一思路。

<%
if instr(Request.ServerVariables("http_accept"),"wap")>0  then
    response.redirect("*.wml") 'wap页地址
    response.end    
else
    response.redirect("*.html") 'pc页地址
    response.end  
end if
%>

改代码的实现方式是通过判断HTTP_ACCEPT,即客户机应用系统通知服务器它所能接受的MIME类型,更加高深的我也不懂,就不在这里乱说了,呵呵。HTTP_ACCEPT非常复杂,对于一般的不支持html的浏览器,只要判断浏览器支持wml并且不支持html就可以了,但如果浏览器同时支持wml和html就不太可靠了。相对低端手机会将wml放到html的前面,但是很多高端手机或者智能手机对html的支持很好,所以html也会出现在wml前面。不过,既然手机高端到可以像电脑一样支持html,支持JS、Flash等等,那就让它查看网站的主页面好了。

另外,还有人提到用来访IP或者JS判断屏幕窗口大小,我没有尝试,不知道是否可取。

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ASP http_accept 电脑 手机 自动判断手机访问
相关日志:
[本日志由 阳光の碎片 于 2010-09-28 01:33 PM 编辑]
评论最多的同学们
小爱
回复回复小爱[2010-09-14 11:16 PM | | | del]
0 0唉~这个有点高深了。我开始迷茫状态~
不过除了用手机上QQ外,很少用手机浏览网页
回复来自 阳光の碎片 的评论 阳光の碎片 于 2010-09-14 11:38 PM 回复
呵呵,我只是喜欢研究点东西而已。
不过我发现,跳转虽然做好了,但是要做一个WAP页更加复杂,什么WML、WAP2.0、WCSS,头都大了。我的WAP首页其实还是html的,只是尺寸什么的适合手机。

不知道哪些手机不支持,估计那些不支持的手机已经淘汰了吧,嘿嘿~倒是写了个WML页,不够暂时用不到,也只有我自己看自己的WAP页,所以就以我的手机为标准吧,哈哈~
#1
发表评论
昵 称:
密 码: 游客发言不需要密码
邮 箱:支持Gravatar头像  隐藏邮箱地址
网 址:输入网址便于回访
内 容:
验证码: 恢复上次评论内容
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
︿回到顶部