您好!欢迎来到源码码网

织梦网站在电脑端访问手机端页面自动跳转至对应的PC端

  • 建站技巧
  • 来源:源码码网
  • 编辑:admin
  • 时间:2021-09-03 16:29
  • 阅读:809

最近给客户部署了一套织梦的网站源码,由于要求手机端和PC端同步,所以就对移动端进行了适配。但是由于织梦移动端的模板代码是生成在m文件夹下,而对移动端又绑定了相应的二级域名。所以造成了,网站在收录的时候,收录了m文件下的html页面,但是当在电脑端查看收录页面时,会发现有很多m路径下的收录页面,当访问的时候,打开的是移动网站的页面,这样对用户体验不好,所以需要做相应的跳转,以下的解决方法是建立在PC端是静态页面、而移动端是动态调用的基础之上,如果移动端页是静态页面,请自行查找解决办法。


移动端首页跳转至PC端首页的代码:

<script type="text/javascript">

   /*判断手机端访问*/
   var isMobile = {
     Android:function(){
       return navigator.userAgent.match(/Android/i) 
       ? true:false;
     },

     BlackBerry:function(){
       return navigator.userAgent.match(/BlackBerry/i) 
       ? true:false;
     },

     iOS:function(){
       return navigator.userAgent.match(/iPhone|iPad|iPod/i) 
       ? true:false;
     },

     Windows:function(){
       return navigator.userAgent.match(/IEMobile/i) 
       ? true:false;
     },

     any:function(){
       return (isMobile.Android()||isMobile.BlackBerry() 
       ||isMobile.iOS()||isMobile.Windows());
     }

   };

     if(!isMobile.any()) {
       window.location.href = "PC端网址";
    }
 </script>


移动端文章页面跳转至PC端代码:

<script type="text/javascript">

   /*判断手机端访问*/
   var isMobile = {
   Android:function(){
      return navigator.userAgent.match(/Android/i) 
      ? true:false;
   },

    BlackBerry:function(){
      return navigator.userAgent.match(/BlackBerry/i) 
      ? true:false;
   },

   iOS:function(){
      return navigator.userAgent.match(/iPhone|iPad|iPod/i)
      ? true:false;
   },

   Windows:function(){
      return navigator.userAgent.match(/IEMobile/i)
      ? true:false;
   },

   any:function(){
      return (isMobile.Android()||isMobile.BlackBerry() 
      || isMobile.iOS()||isMobile.Windows());
   }

  };

    if(!isMobile.any()) {
      window.location.href = "{dede:field.id runphp='yes'}
      $id=@me;@me='';$url=GetOneArchive($id);
      @me=$url['arcurl'];{/dede:field.id}";
 }
 </script>


image.png


移动端列表页面跳转至PC端代码:

把以下代码加到 /include/helpers/extend.helper.php 文件最后。

if ( ! function_exists('itemCurUrl'))
{
    /**
     * 获取当前列表页或内容页的URL
     * 未经大量测试,一定会有不如意的地方,使用时注意测试观察
     *
     * 列表页使用方法:
     * dede:field.id runphp='yes'}@me=itemCurUrl(@me,'list');
     {/dede:field.id}
     * 内容页使用方法:
     * 
     dede:field.id runphp='yes'}@me=itemCurUrl(@me,'view');
     {/dede:field.id}
     *
     * @param int $id 列表ID或文章ID
     * @param string $type 分类,list:列表页,view:内容页
     * @return string
     */
function itemCurUrl($id, $type='list') {
  global $dsql;
  if($type == 'list'){
    $sql="SELECT * FROM `dede_arctype` WHERE `id`='$id' ";
    $info=$dsql->GetOne($sql);
    $url=GetOneTypeUrlA($info);
      return $url;
    }else{
      $arr = GetOneArchive($id);
      if(!empty($arr['ismake'])){ // 静态页面
        return $arr['arcurl'];
      }else{ // 动态页面
        return '/plus/view.php?aid='.$arr['aid'];
     }
   }
  }
}


然后在列表页的head部分加入以下代码:

<script type="text/javascript">

   /*判断手机端访问*/
   var isMobile = {
   Android: function () {
     return navigator.userAgent.match(/Android/i) 
     ? true:false;
   },

   BlackBerry:function(){
     return navigator.userAgent.match(/BlackBerry/i) 
     ? true:false;
   },

   iOS:function(){
     return navigator.userAgent.match(/iPhone|iPad|iPod/i) 
     ? true:false;
   },

   Windows:function(){
     return navigator.userAgent.match(/IEMobile/i) 
     ? true:false;
   },

   any:function(){
     return (isMobile.Android()||isMobile.BlackBerry() 
     || isMobile.iOS()||isMobile.Windows());
   }

 };

    if (!isMobile.any()) {
     window.location.href = "{dede:field.id runphp='yes'}
     @me=itemCurUrl(@me,'list');{/dede:field.id}"
   }
 </script>


以上代码由本站亲自测试,可正常运行。


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 基于MIT开源协议的后端管理框架Niucloud Admin
  • 基于MIT开源协议的后端管理框架Niucloud Admin
  • 关于NiucloudAdminNiucloudAdmin是一款可以让开发者快速开发通用管理后台的开发框架,前端采用最新的Vite/TypeScript/Vue3/ElementPlus等最新的技术架构,后台结合PHP8、JavaSDK、Python等主流后端语言搭建,框架内置集成了用户权限、代码生成器、表单设计、云存储、短信发送、素材中心、微信及公众号、Api模块一系列开箱就能用的常见业务功能,是一款优秀
  • 源码教程
  • 来源:Niucloud
  • 编辑:源码码网
  • 时间:2023-11-30 21:24
  • 阅读:120
  • 推荐一款网站速度的插件:堡塔网站加速
  • 推荐一款网站速度的插件:堡塔网站加速
  • 我们平常浏览网页的时候,或多或少会遇到网站响应缓慢、加载页面时间长等情况。当前在这个快节奏的互联网时代里,对于用户来说,如果网站响应速度缓慢,大多数用户都不会花长时间去等待网站的加载,从而直接影响了用户的体验感。如果对于一些商业型的网站来说,网站访问加载速度也会影响网站搜索排名和客户的转化。影响网站访问速度的原因有很多,例如服务器的带宽是一个重要指标,我们今天聊的是,在同等带宽配置下,提升网站访问速度的方式,比如使用堡塔网站加速插件。一
  • 行业资讯
  • 来源:公众号:宝塔面板
  • 编辑:源码码网
  • 时间:2023-11-29 11:27
  • 阅读:62
  • gechiui 格尺后台开发框架介绍
  • gechiui 格尺后台开发框架介绍
  • 资源名称:gechiui格尺后台开发框架软件版本:v6.3.5资源分类:企业协同、OA、CMS、企业建站,博客授权方式:开源界面语言:简体中文文件大小:23M更新时间:2023-11-25资源类型:国产软件平台环境:php+mysqlGeChiIUI(格尺后台开发框架),是一款面向中小企业开源的团队协同办公系统框架。GeChiIUI主要功能文章、文件文档管理,表单管理,审批流,知识库。拖拽操作简单方便。并可搭建企业建站、帮助中心、电商
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2023-11-28 14:48
  • 阅读:45
  • 网站的收录量多于网站索引量是什么原因?
  • 网站的收录量多于网站索引量是什么原因?
  • 大多数情况下,都是网站索引量多余网站收录量,但是也有不少情况是索引量少于收录量的,我的这个网站现在就是这种表现,索引数据1000左右,收录快到3000了,这个有可能是数据的不准确造成的,也有可能就是索引的页面放出情况良好,对应了多个快照页面,造成收录高于索引,要注意的是这两个数据应该相差不会太多,相差太大的话一般都是网站出现了问题,有人可能会说我的网站索引量和收录量完全一致,是不是就不存在问题,其实,收录数据(Site命令)是实时变动
  • 建站技巧
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2023-11-14 12:34
  • 阅读:700
  • 网站索引量多于网站收录量是什么原因?
  • 网站索引量多于网站收录量是什么原因?
  • 一般来说,索引量数据大于收录数据,特别是对于新站来说,刚开始面临一个审核周期,索引数据不断增加,而收录很难增长,这需要一些时间,不过当索引量高于收录很多的时候,就要注意了,应该是文章内容的问题,这时应该增加原创文章的更新,尽量减少转载,特别是一些低质量内容的转载。保持网站的有规律的持续更新,通过sitemap向站长平台提交链接。
  • 建站技巧
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2023-11-14 12:31
  • 阅读:89
联系客服
源码代售 源码咨询 素材咨询 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部