想要查看是否有人对此脚本有反馈意见,以便重定向移动用户,并将其发送到另一个网站上的正确页面。我还在重定向上写了一个cookie,所以我可以尝试恢复一些分析信息。
(function() {
var REFERER_COOKIE_NAME = 'acme-url-referer';
var MOBILE_REDIRECT_COOKIE_NAME = 'acme-is-mobile-redirect';
var MOBILE_SITE_URL = 'http://acmemobile.domain.net/';
var devices = [
{ua:/iphone/i, redirect:1},
{ua:/ipod/i, redirect:1},
{ua:/android/i, redirect:1},
{ua:/blackberry/i, redirect:1},
{ua:/iemobile/i, redirect:1},
{ua:/symbianos/i, redirect:1},
{ua:/palmos/i, redirect:1},
{ua:/ipad/i, redirect:0}
];
var shouldRedirect = function() {
for (var i = 0; i < devices.length; i++) {
if (new RegExp(devices[i].ua).test(navigator.userAgent || '')) {
return true;
}
}
return false;
};
if (!shouldRedirect()) {
return;
}
// URLs sorted from the lowest to the deepest url depth
var URLs = [
{full:'http://www.acme-big-site.com/US-EN/Home', mobile:'http://acmemobile.domain.net'},
{full:'', mobile:''},
{full:'', mobile:''},
{full:'', mobile:''},
{full:'', mobile:''},
{full:'', mobile:''}
];
var createReferrerCookie = function() {
var ref = document.referrer;
document.cookie = REFERER_COOKIE_NAME + '=' + encodeURIComponent(ref);
};
var createMobileRedirectCookie = function() {
var expirationDate = new Date();
expirationDate.setHours(expirationDate.getHours()+2);
document.cookie = MOBILE_REDIRECT_COOKIE_NAME + '=1; expires=' + expirationDate.toUTCString();
};
createReferrerCookie();
createMobileRedirectCookie();
for (var i = 0; i < URLs.length; i++) {
if (URLs[i].full.indexOf(window.location.href) >= 0) {
window.location.href = URLs[i].mobile;
return;
}
}
window.location.href = MOBILE_SITE_URL;
})();