您好!欢迎来到源码码网

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

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

最近给客户部署了一套织梦的网站源码,由于要求手机端和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)
推荐阅读
  • 陀螺匠OA办公系统源码 PHP + Vue 前后端分离 完整可商用
  • 陀螺匠OA办公系统源码 PHP + Vue 前后端分离 完整可商用
  • 项目介绍《陀螺匠》是一套采用Laravel9框架结合Swoole高性能框架与Vue.js前端技术栈构建的AI+低代码双引擎智能办公系统。陀螺匠深度融合了AI智能体以及低代码开发平台,系统简约,易于功能扩展,方便二次开发。旨在为企业提供一站式、数智化转型的全方位解决方案,助力企业高效运营与智能决策。源码说明源码说明:项目代码100%开源,基于AGPL-3.0,支持免费商用!技术栈:系统基于Laravel9+Swoole+Vue.
  • 软件教程
  • 来源:CRMEB
  • 编辑:CRMEB
  • 时间:2026-03-27 15:33
  • 阅读:392
  • open claw最近很火,如何理性看待?
  • open claw最近很火,如何理性看待?
  • openclaw是2026年初科技圈最火爆的现象级话题。它不仅仅是又一个AI产品,更被百川智能的王小川誉为与ChatGPT诞生同等重要的里程碑——标志着AI从”只会说”的对话者,进化到了”能够做”的行动者。对于这股全民”养虾”热潮,我的观察是:它代表了一次人机关系的革命性跃迁,但同时也是一场充满风险与泡沫的狂欢,其真正的价值需要在喧嚣褪去、安全与成本的挑战被克服后才能显现。下
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-17 11:06
  • 阅读:432
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序是两种不同的开发模式,主要区别在于开发方式、性能表现、代码维护以及跨平台能力。为了让你更清晰地理解,我们可以把“原生”比作用钢筋水泥直接盖楼,而“封装”则是用预制板或套件来组装楼。以下是详细的对比分析:1.定义与本质原生小程序:定义: 直接使用微信官方提供的开发工具、语法和API进行开发。语言: 使用微信自己定义的一套技术栈(WXML(微信标记语言)做结构、WXSS(微信样式表)做样式、JS
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-06 11:54
  • 阅读:666
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • FytSoaCms一款基于NetCore2.2/3.1(RazorPage)功能强大的Cms建站系统,支持前后端分离。简介:模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。模型/栏目/分类信息体系:通过栏目和模型绑定,以及不同的模型类型,不同栏目可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。通过分类信息和栏目绑定,可以自动建立索引表,轻松实现复杂的信息检索。FytSoa是一套基于NetCore+SqlS
  • 开发工具
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 22:21
  • 阅读:592
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • SmartWx微信公众号管理系统是一个完整的微信公众号web操作版,直接编译即可运行。让用户不再用关心微信的底层接口,直接使用页面进行操作,简单方便。包括服务器绑定、文本管理、图文管理、菜单管理、粉丝管理、群发消息等。技术框架开发语言:JAVA数据库:MYSQLJAVA开发框架:SpringMVC+Spring+Mybatis缓存框架:j2cache前端开发框架:Layui+JQuery+html前台模板引擎:art-templat
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 21:53
  • 阅读:601
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部