最近用DEDECMS做了一個企業站,PC和移動站都做好了以后,一直有一個問題沒有能解決:移動端訪問PC站實現對應頁面跳轉,361源碼網小編查了很多方法,因為DEDE官方的手機跳轉是動態的,不太想用,所以361就用JS的方法實現靜態頁面直接的跳轉,下面寫下具體方法,方便大家參考:
PS:這里不考慮移動端搜索引擎優化,需要通過JS判斷是否移動端,然后確定是否跳轉到指定頁面就行了:
1、添加js文件,代碼如下,名字隨意命(暫時命名為m.js):
//判斷是否移動端,如果是則跳轉到指定的URL地址2、在需要做跳轉的頁面引用JS,調用方法(這里根據自己的js所放路徑和名字自行修改:
<script src="/js/m.js"></script>
3、因為DedeCMS的內容頁和欄目頁都是模版控制生成,不可能在每個生成的頁面都加上這段代碼,這里需要變通一下,在模版中加一次即可,主要分為欄目/列表頁和文章頁加代碼,以361草根學習網為例,移動站點的域名為m.vevb.com,pc對應的文章頁和欄目頁后綴相同:
文章頁調用代碼:
<script src="/js/m.js"></script>欄目/列表頁調用的代碼:
<script src="/js/m.js"></script>4、加上一個首頁的調用代碼:
<script src="/js/m.js"></script>還有一種方法是利用百度官方的方式實現跳轉,思路是一樣的,同樣需要加一個js文件,代碼如下:
function uaredirect(f){try{if(document.getElementById("bdmark")!=null){return}varb=false;if(arguments[1]){var e=window.location.host;vara=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){varc=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){varh=f.substr(e+3)}else{var h=f}var g=/^www/./;if(g.test(h)){h=h.substr(4)}return h};if(c==d){return1}else{var c=this.getdomain(c);var b=this.getdomain(d);if(c==b){return1}else{c=c.replace(".","http://.");var a=new RegExp("http://."+c+"$");if(b.match(a)){return 2}else{return0}}}};調用代碼為:
<script src="/js/uaredirect.js" type="text/javascript"></script>然后更新全站,再用移動端訪問pc網址就可以完美實現跳轉。同理,我們要是從移動站訪問pc站改怎么做呢?下一講,我們就來講《PC訪問移動端頁面如何正確跳轉》。希望大家到時候也能有所收獲。
新聞熱點
疑難解答