{
    分享网正式开通,我们为大家提供免费资源,欢迎大家踊跃投稿!

手机端访问PC端页面如何正确跳转

余斗在上次讲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
                        }
                }
        }
};

这样在移动端就能正确浏览pc页面了。

大部分的移动站都是自己做的,不是用百度siteapp实现,有的用户可能不喜欢#fromapp这个后缀,我们可以做下修改,比如余斗的为#pc后缀,修改百度提供的uaredirect.js,将代码中的fromapp 改成你要的标识即可,比如余斗的pc

现在在手机上只要访问 http://www.yudouyudoucom#pc 就可以正常切换到电脑版了!

这个代码修改后,在加载页面时发现链接后面带了指定参数时,就直接return,而不再进行UA判断,避免再次跳转的尴尬。


资源均来自第三方,谨慎下载,前往第三方网站下载


爱资源分享网 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:手机端访问PC端页面如何正确跳转
喜欢 ()分享 (0)