很早就知道百度可以用电脑和手机访问同一个地址,但是网站会自动根据使用的上网终端选择跳转到不同的页面。
曾经试着用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判断屏幕窗口大小,我没有尝试,不知道是否可取。