DedeCMS移动端访问PC网址自动跳转M网址

DedeCMS移动端访问PC网址自动跳转M网址,第1张

概述DedeCMS移动适配成功后,有一个问题一直烦扰余斗,虽然首页可以用百度官方的跳转方法实现跳转,但是手机端访问网站的内页pc网址时,不会自主跳转到相对应的

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。内存溢出小编现在分享给大家,也给大家做个参考。

Dedecms 移动适配成功后,有一个问题一直烦扰余斗,虽然首页可以用百度官方的跳转方法实现跳转,但是手机端访问网站的内页 pc 网址时,不会自主跳转到相对应的移动站点,查询了很多方法,只有 Js 跳转可以完美实现,余斗今天就把教程写出来,希望可以帮到大家(这里不考虑移动端搜索引擎优化,需要通过 Js 判断是否移动端,然后确定是否跳转到指定页面就行了):

1、添加 Js 文件,代码如下,名字随意命(余斗的为 m.Js):

//判断是否移动端,如果是则跳转到指定的URL地址

function browserRedirect(url) {

//只读的字符串,声明了浏览器用于 http 请求的用户代理头的值

var sUserAgent = navigator.userAgent.tolowerCase();

var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";

var bIsMIDp = sUserAgent.match(/mIDp/i) == "mIDp";

var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";

var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";

var bIsAndroID = sUserAgent.match(/androID/i) == "androID";

var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";

var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";

if (bIsIphoneOs || bIsMIDp || bIsUc7 || bIsUc || bIsAndroID || bIsCE || bIsWM) {

window.location.replace(url);

}

}

2、在需要做跳转的页面引用 Js,调用方法(这里根据自己的 Js 所放路径和名字自行修改:

<script src="/Js/m.Js"></script>

<script type="text/JavaScript">browserRedirect("http://m.yudouyudou.com/yudoubiji");</script>

3、因为 Dedecms 的内容页和栏目页都是模版控制生成,不可能在每个生成的页面都加上这段代码,这里需要变通一下,在模版中加一次即可,主要分为栏目/列表页和文章页加代码,以余斗博客为例,移动站点的域名为 m.yudouyudou.com,pc 对应的文章页和栏目页后缀相同,文章页调用代码:

<script src="/Js/m.Js"></script>

<script type="text/JavaScript">browserRedirect("http://m.yudouyudou.com{dede:fIEld name='arcurl'/}");</script>

栏目/列表页调用的代码:

<script src="/Js/m.Js"></script>

<script type="text/JavaScript">browserRedirect("http://m.yudouyudou.com{dede:type typeID='0′ row=1}[fIEld:typelink/]{/dede:type}");</script>

4、加上一个首页的调用代码:

<script src="/Js/m.Js"></script>

<script type="text/JavaScript">browserRedirect("http://m.yudouyudou.com");</script>

还有一种方法是利用百度官方的方式实现跳转,思路是一样的,同样需要加一个 Js 文件,代码如下:

function uaredirect(f){try{if(document.getElementByID("bdmark")!=null){return}var b=false;if(arguments[1]){var e=window.location.host;var a=window.location.href;if(isSubdomain(arguments[1],e)==1){f=f+"/#m/"+a;b=true}else{if(isSubdomain(arguments[1],e)==2){f=f+"/#m/"+a;b=true}else{f=a;b=false}}}else{b=true}if(b){var c=window.location.hash;if(!c.match("fromapp")){if((navigator.userAgent.match(/(iPhone|iPod|AndroID|ios)/i))){location.replace(f)}}}}catch(d){}}function isSubdomain(c,d){this.getdomain=function(f){var e=f.indexOf("://");if(e>0){var h=f.substr(e+3)}else{var h=f}var g=/^www./;if(g.test(h)){h=h.substr(4)}return h};if(c==d){return 1}else{var c=this.getdomain(c);var b=this.getdomain(d);if(c==b){return 1}else{c=c.replace(".","\.");var a=new RegExp("\."+c+"$");if(b.match(a)){return 2}else{return 0}}}};

调用代码为:

<script src="/Js/uaredirect.Js" type="text/JavaScript"></script>

<script type="text/JavaScript">uaredirect("http://m.yudouyudou.com","http://www.yudouyudou.com");</script>

然后更新全站,再用移动端访问 pc 网址就可以完美实现跳转。同理,我们要是从移动站访问 pc 站改怎么做呢?请点击手机端访问 PC 端页面如何正确跳转。

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的DedeCMS移动端访问PC网址自动跳转M网址全部内容,希望文章能够帮你解决DedeCMS移动端访问PC网址自动跳转M网址所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1024293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存