2017-04-19 1 views
1

私はApple Musicバッジをイメージしています。ユーザーがバッジをクリックすると、明示的なバージョンの曲やクリーンバージョンを表示するかどうかを尋ねるポップアップが表示され、対応するボタンがその操作を行います。Javascriptポップアップリダイレクト

現在、私は、ユーザーが「OK」を押して明示的なバージョンにリダイレクトし、「キャンセル」をクリックしてクリーンバージョンにリダイレクトできるようにするjavascriptポップアップを持っています。このオプションはうまく動作しますが、ボタンは期待通りの動作をしません。どちらのボタンも明示的なバージョンにリダイレクトされます。

は、ここでは明示的な(geo.itunes.apple.com)URLにリダイレクト、

<a class="AppleMusic" 
    href="**explicit-link**" 
    style="display:inline-block; 
      overflow:hidden; 
    background:url(https://linkmaker.itunes.apple.com/assets/shared/badges/en-us/music-lrg.svg) no-repeat; 
      width:150px; 
      height:55px; 
      background-size:contain;"> 
</a> 

<script type='text/javascript'> 
    $(window).on('load', function() { 
     $(".AppleMusic").on("click", function (event) { 
      if (confirm("This will redirect to the explict version of the song. Press 'Cancel' If you'd like to be redirected to the Clean version.")) { 
       return true; 
      } 
      else { 
       window.location = "**clean-link**"; 
      } 
     }); 
    }); 
</script> 

問題は関係なく、彼らがクリックするものではありません..これまでのところ、私のHTMLとJavaScriptです。

可能であれば、UIダイアログを使用しません。

+0

はあなたの条件を得るdidntn? –

答えて

1

はこれにあなたの関数を変更してみてください:

$(".AppleMusic").on("click", function(event){ 
     event.preventDefault(); 
     if (confirm("This will redirect to the explict version of the song. Press 'Cancel' If you'd like to be redirected to the Clean version.")){ 
     window.location = "https://geo.itunes.apple.com/us/album/feelinme-feat-adrian-stresow/id1224174169?i=1224174173&mt=1&app=music&at=1l3vwYm&ct=FEELINME" 
     } 
     else { 
     window.location = "https://www.google.com/search?site=&q=clean+url"; 
     } 
}); 

防ぎ、デフォルトでは、それが言うように、クリックしたオブジェクトのデフォルト動作を防ぐことができます。

+0

くださいより具体的には、これは私が必要なものです、ありがとうございます。 – ddshd

0
$(function() { 
    $(".AppleMusic").on("click", function(event) { 
     event.preventDefault(); 
     if (confirm("This will redirect to the explict version of the song. Press 'Cancel' If you'd like to be redirected to the Clean version.")){ 
      var location = "https://geo.itunes.apple.com/us/album/feelinme-feat-adrian-stresow/id1224174169?i=1224174173&mt=1&app=music&at=1l3vwYm&ct=FEELINME"; 
      window.open(location, "_self"); 
     } else { 
      var location = "https://www.google.com/search?site=&q=clean+url"; 
      window.open(location, "_self"); 
     } 
    }); 
}); 

同じ起源のURLで動作します