您当前的位置:主页 > 教程合集 > SEO优化 > 网站首页SEO优化
手机端访问PC端页面如何正确跳转
发布时间:2015-11-04 10:48:27编辑:余斗阅读:(0)字号: 大 中 小
余斗在上次讲DedeCMS移动端访问pc网址自动跳转m网址时,主要说了我们在手机端访问pc网站时会根据终端自动识别并跳转到对应的移动页面。
后来有读者问我如果要在手机端页面加个预览电脑端页面的链接是不是会因为有跳转无法看到真正的pc端页面了?这问题问的很有价值,我们在移动端搜索的时候一般会看到下图这样的显示,会多个电脑版提示。
这是因为我们在移动页面底部添加了电脑版的锚文本链接,搜索引擎在抓取之后并识别就会以这样的方式呈现出来,用户体验很好,但是如果我们做了移动端访问跳转,直接输入pc域名是不会看到真正的pc页面的,此时,百度跳转文件uaredirect.js中自带的中断机制就发挥作用。在需要正确预览的pc页面链接后加参数#fromapp,如余斗的:
// JavaScript Document
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("pc")) {
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
}
}
}
};
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("pc")) {
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
}
}
}
};
这样在移动端就能正确浏览pc页面了。
大部分的移动站都是自己做的,不是用百度siteapp实现,有的用户可能不喜欢#fromapp这个后缀,我们可以做下修改,比如余斗的为#pc后缀,修改百度提供的uaredirect.js,将代码中的fromapp 改成你要的标识即可,比如余斗的pc:
现在在手机上只要访问 http://www.yudouyudoucom#pc 就可以正常切换到电脑版了!
这个代码修改后,在加载页面时发现链接后面带了指定参数时,就直接return,而不再进行UA判断,避免再次跳转的尴尬。
关键字词:pc跳转
上一篇:自适应站点的seo优化配置