DedeCMS移动适配成功后,虽然首页可以用百度官方的跳转方法实现跳转,但是手机端访问网站的内页pc网址时,不会自主跳转到相对应的移动站点,查询了很多方法,只有JS跳转可以完美实现。
不考虑移动端搜索引擎优化,需要通过JS判断是否移动端,然后确定是否跳转到指定页面就行了。
添加js文件,代码如下,名字随意命(如 m.js):
//判断是否移动端,如果是则跳转到指定的URL地址
functionbrowserRedirect(url) {
//只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值
varsUserAgent =navigator.userAgent.toLowerCase();
varbIsIphoneOs = sUserAgent.match(/iphone os/i) =="iphone os";
varbIsMidp = sUserAgent.match(/midp/i) =="midp";
varbIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) =="rv:1.2.3.4";
varbIsUc = sUserAgent.match(/ucweb/i) =="ucweb";
varbIsAndroid = sUserAgent.match(/android/i) =="android";
varbIsCE = sUserAgent.match(/windows ce/i) =="windows ce";
varbIsWM = sUserAgent.match(/windows mobile/i) =="windows mobile";
if(bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
window.location.replace(url);
}
}
DedeCMS的首页、内容页和栏目页都是模版控制生成,因此只需要为每个模板添加JS引用代码即可,具体如下:
<1> 首页模板调用JS跳转代码:
<script src="/js/m.js"></script>
<script type="text/javascript">browserRedirect ("http://m.yudouyudou.com");</script>
<2> 栏目/列表页模板调用的代码:
<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>
<3> 文章内容页模板调用代码:
<script src="/js/m.js"></script>
<script type="text/javascript">browserRedirect ("http://m.yudouyudou.com{dede:field name='arcurl'/}"); </script>
更新全站缓存并重新生成内容页、栏目页、首页,再用移动端访问PC电脑网址就可以完美实现跳转。