手机自动访问网站手机版转到电脑版(pc)的方法
在电脑版和移动版的footer里面加上手动切换链接,实现手动版本切换功能。
最简单的方法是:uaredirect.js中其实已经自带了中断机制:#fromapp 
所以,只要在切换链接后面加上 #fromapp 就可以避免js跳转到移动版了!
如果,你想换成其他中断参数,可以修改百度提供的uaredirect.js,将代码中的fromapp 改成你要的标识即可,比如pc,所以在手机上只要访问 #pc 就可以正常切换到电脑版了!
如下是另一种带上参数的方法:
给移动版的切换链接带上一个参数,再修改 uaredirect.js,当发现链接后面带了指定参数时,就直接return,而不再进行UA判断,避免再次跳转的尴尬。。。
说干就干,在oschina到如下2中获取url后面参数的方法:
/*参数值中有等于号的情况(“=”)*/
function getUrlRequest(){
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
if (str.indexOf("&") != -1) {
strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
else {
var key = str.substring(0,str.indexOf("="));
var value = str.substr(str.indexOf("=")+1);
theRequest[key] = decodeURI(value);
}
}
return theRequest;
}
然后如下修改uaredirect.js
//获取url后面参数
function getUrlRequest(){
var url = location.search;
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);个人网页制作手机能打开教程
if (str.indexOf("&") != -1) {
strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
else {
var key = str.substring(0,str.indexOf("="));
var value = str.substr(str.indexOf("=")+1);
theRequest[key] = decodeURI(value);
}
}
return theRequest;
}
function uaredirect(f) {
var canshu=getUrlRequest();
try {
if (canshu["type"] == "pc") { //当检测到url后面带了type=pc参数时,停止执行.
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))) {
place(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 =&place(".""\\.");
var a = new RegExp("\\." + c + "$");
if (b.match(a)) {
return 2
else {
return 0
}
}
}
};?
最后,在移动版主题的footer里面加上如下代码:
<?php wp_reset_query();if ( is_home()){ ?>
<a title="电脑版" href="?type=pc">电脑版</a>
<?php } ?>
最新补充:冏。。。那上面的内容都是白忙活了,仅供参考,仅供参考。。。。
如果,你想换成其他中断参数,可以修改百度提供的uaredirect.js,将代码中的fromapp 改成你要的标识即可,比如张戈就修改成了pc,所以在手机上只要访问 #pc 就可以正常切换到电脑版了!
那么,文章最后那一大段footer代码,也可以将里面的?type=pc改成自定义的中断参数了,比如 #pc,自己看着办~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。