A-A+
	JS判断网站内页是否手机访问并且跳转到相应手机页面
做手机网站的时候,一般都会用到JS代码来判断当前访问端是否为移动端,然后再跳转到相应的首页上面去,代码如下:
- <script>
 - var userAgentInfo = navigator.userAgent;
 - var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
 - var flag = false;
 - var v=0
 - for ( v = 0; v < Agents.length; v++)
 - {
 - if (userAgentInfo.indexOf(Agents[v]) > 0)
 - {
 - flag = true; break;
 - }
 - }
 - if(flag){
 - window.location='http://m.xiaohuboke.com';
 - }
 - </script>
 
这段代码用在PC端网站的首页是没问题的,但如果是其它页面呢?如果我想除了网站首页,其它的列表页也好,封面页也好,内容页也好,都能“智能”地判断是否手机端访问,然后跳转到相应的手机页面去,怎么办?
现在拿帝国CMS做的手机网站来做例子。我们先看看下面这段代码:
- <script>
 - var userAgentInfo = navigator.userAgent;
 - var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
 - var flag = false;
 - var v=0
 - for ( v = 0; v < Agents.length; v++)
 - {
 - if (userAgentInfo.indexOf(Agents[v]) > 0)
 - {
 - flag = true; break;
 - }
 - }
 - if(flag){
 - window.location='http://m.xiaohuboke.com/e/public/ClassUrl/?classid=[!--self.classid--]';
 - }
 - </script>
 
看出不同之处了吗?没错,不同之处就在于window.location='http://m.xiaohuboke.com/e/public/ClassUrl/?classid=[!--self.classid--]';
这一段代码,这段代码是什么意思呢?
/e/public/ClassUrl/?classid=[!--self.classid--]
用这个就可以直接获取当前栏目地址,列表页和封面页通用,这样就能达到我们的目的了!
那么内容页怎么办呢?那说法简单了,[!--titleurl--]直接用这个就行了。
PS:用这个方法的前提是你得先把二级域名的跳转规则写好,不然总算能成功跳转,但也有可能会出现404错误。