我有一个脚本会检查以确保我在移动设备上,抓取带有应用列表及其应用商店地址的Feed,然后调用一个功能,具体取决于它是什么类型的设备,将用户重定向到正确的应用页面。
var redirecToAppPage = function(device, types) {
var url;
if (device === 'android') {
url = types.android;
} else if (device === 'iphone' || device === 'ipod') {
url = types.apple;
} else if (device === 'ipad') {
url = types.apple;
} else if (device === 'blackberry') {
url = types.phone;
}
if (url) {
window.location = url;
return false;
}
return url;
};
这不起作用。重定向永远不会发生,而是执行页面上的其余代码。
我尝试了window.location
,window.location.href
,window.location.assign(url)
和window.location.replace(url)
,但都没有效果。任何想法为什么这不起作用?
答案 0 :(得分:0)
我使用这个例子重新制作了你的功能并且对我有用:
function redirectToAppPage(device, types) {
var url;
if (device === 'android') {
url = types.android;
} else if (device === 'iphone' || device === 'ipod') {
url = types.apple;
} else if (device === 'ipad') {
url = types.apple;
} else if (device === 'blackberry') {
url = types.phone;
}
if (url) {
window.location.replace(url);
}
}
// Example
var device = 'android';
var types = {
android : "https://www.apple.com/itunes/"
}
redirectToAppPage(device, types);
用jsfiddle尝试。