A-A+

JS判断网站内页是否手机访问并且跳转到相应手机页面

2016年06月12日 PHP开源系统 评论 5 条 阅读 10 views 次

做手机网站的时候,一般都会用到JS代码来判断当前访问端是否为移动端,然后再跳转到相应的首页上面去,代码如下:

  1. <script>         
  2. var userAgentInfo = navigator.userAgent;           
  3. var Agents = new Array("Android""iPhone""SymbianOS""Windows Phone""iPad""iPod");          
  4. var flag = false;         
  5. var v=0         
  6. for ( v = 0; v < Agents.length; v++)          
  7. {                    
  8. if (userAgentInfo.indexOf(Agents[v]) > 0)  
  9.  {   
  10. flag = truebreak;   
  11. }               
  12. }          
  13.  if(flag){   
  14. window.location='http://m.xiariboke.com';         
  15.  }        
  16.  </script>  

这段代码用在PC端网站的首页是没问题的,但如果是其它页面呢?如果我想除了网站首页,其它的列表页也好,封面页也好,内容页也好,都能“智能”地判断是否手机端访问,然后跳转到相应的手机页面去,怎么办?

现在拿帝国CMS做的手机网站来做例子。我们先看看下面这段代码:

  1. <script>         
  2. var userAgentInfo = navigator.userAgent;           
  3. var Agents = new Array("Android""iPhone""SymbianOS""Windows Phone""iPad""iPod");          
  4. var flag = false;         
  5. var v=0         
  6. for ( v = 0; v < Agents.length; v++)          
  7. {                    
  8. if (userAgentInfo.indexOf(Agents[v]) > 0)  
  9.  {   
  10. flag = truebreak;   
  11. }               
  12. }          
  13.  if(flag){   
  14. window.location='http://m.xiariboke.com/e/public/ClassUrl/?classid=[!--self.classid--]';         
  15.  }        
  16.  </script>  

看出不同之处了吗?没错,不同之处就在于window.location='http://m.xiariboke.com/e/public/ClassUrl/?classid=[!--self.classid--]';

这一段代码,这段代码是什么意思呢?

/e/public/ClassUrl/?classid=[!--self.classid--]

用这个就可以直接获取当前栏目地址,列表页和封面页通用,这样就能达到我们的目的了!

那么内容页怎么办呢?那说法简单了,[!--titleurl--]直接用这个就行了。

PS:用这个方法的前提是你得先把二级域名的跳转规则写好,不然总算能成功跳转,但也有可能会出现404错误。

5 条留言  访客:5 条  博主:0 条

  1. 爱杂侃

    css和js很有必要学习下

  2. Koolight

    自适应是最好的了。以前没自适应的程序该怎么去适配手机版呢?程序没手机版功能。

    • smiling

      只能改模板了。

  3. 微部落博客

    已经不怎么想折腾代码了。

  4. 明月登楼的博客

    为啥首页的缩略图都挂了!

给我留言