2016-07-21 7 views
0

私はモバイルデバイス上にあることを確認し、アプリのリストとそのアプリストアアドレスでフィードを取得してから、デバイスの種類に応じて、ユーザーを正しいアプリページにリダイレクトします。window.locationを使用してアプリケーションストアにリダイレクトする

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.locationwindow.location.hrefwindow.location.assign(url)、およびwindow.location.replace(url)を試しましたが、いずれも動作していません。なぜこれがうまくいかないのでしょうか?

+0

あなたはURLの値を調べましたか? console.log(url)。 – Grommy

+0

はい、URLの値は適切なhttps://itunes.apple.com ...リンクです。私がリンクに直接行くと、リンクがポップアップします。 – MikesBarto2002

答えて

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でそれを試してみました。

+0

リンク(上記の質問のコメントを参照)は、適切なプロトコルを持つ絶対URLです。 – MikesBarto2002

+0

私のコードをリメイクして、今読んでください。 – Grommy

+0

まだ私のために働いていません。同じ結果を得る。 – MikesBarto2002

関連する問題