4

我正在使用来自http://detectmobilebrowsers.com/的 javascript 版本重定向到移动网站。唯一的事情是,如果用户想要/需要去那里,我有一个链接可以转到完整的网站。

但是,当您单击链接以从移动设备查看完整站点时,它会恢复重定向并将其踢回移动版本而不是完整站点。

我正在做一些搜索,想知道是否可以破解它以便它使用

window.location.href.indexOf

或类似这样的性质:

if(window.location.href.indexOf("mobile/index.html") > -1)
{window.location = "http://thefullsiteURL.com"}
else { function (a, b) {
if (//mobile direction stuff from detectmobilebrowsers.com
})(navigator.userAgent || navigator.vendor || window.opera,
'http://thefullsiteURL.com/mobile/index.html')};

请记住,这是我拼凑起来的东西,我的 JS 技能相当新,所以如果有人有更优雅的解决方案,我完全赞成。

4

1 回答 1

6

在您的完整站点链接中设置会话 cookie 和查询字符串值。然后,让您的移动检测代码首先检查 cookie 值,其次检查查询字符串,最后检查用户代理移动检测。

因此,您的完整站点链接应该类似于查询字符串触发器:

<a href='http://mysite.com?fullsite=true'>Link to full site</a>

然后在您的手机中检测:

;(function(a,b) {

    if (document.cookie.indexOf('fullsite') > -1) {
        return; // skip redirect
    }
    if (location.search.indexOf('fullsite') > -1) {
        document.cookie = 'fullsite=true; path=/;'
        return; // skip redirect
    } 
    if (/mobile regex conditional goes here/) {
        window.location = b;
    }
})(navigator.userAgent || navigator.vendor || window.opera, 'http://thefullsiteURL.com/mobile/index.html')
于 2012-08-27T22:05:17.317 回答