0

私は SoundCloud カスタム プレーヤー ( https://github.com/soundcloud/soundcloud-custom-player ) を使用しており、メイン サイトがナビゲートされているときにオーディオが再生され続けるように、これを別のフレームにする必要があるサイトがあります。メイン フレーム内からトップ フレームのプレーヤーにトラック URL を渡す必要があります。以下のコードを試してみましたが、うまくいきませんでした。一番上のフレームの名前と id は「play」です。どうすればこれを行うことができるか教えてもらえますか?どうもありがとう。

<a class="sc-remote-play" href="#">Play Me</a>
<script type="text/javascript">
$(function() {
 $('a.sc-remote-play').live('click', function(event) {
  $('top.frames["play"].sc-player').scPlayer({
  links: [{url: "http://SOUNDCLOUD_PATH_HERE"}],
  autoPlay: true
  });
 });
});
</script>
4

1 に答える 1

0

parent.frames他のフレームを取得するために使用できます。このページでは、フレームの操作方法について説明します。

parent.frames[0]最初のフレームのウィンドウに到達するために使用できます。jQuery で要素を見つけるには、次のようなコンテキストを与える必要があります。

$('.sc-player', parent.frames[0].document)

ただし、これは、お互いを知らない音楽を再生する 2 つのコードが存在することを意味します。再生する関数を作成し、他のフレームで使用できるようにする方がよいと思います。プレーヤーのコードは次のようになります。

play = function(url) {
  $('.sc-player').scPlayer({
    links: [{url: url}], autoPlay: true
  });
};
$(function() {
 $(document).on('click','a.sc-playme1', function(event) {
  play("http://soundcloud.com/axwell/cotu-dyrormx-dannyhoward");
 });
 $(document).on('click','a.sc-playme2', function(event) {
  play("http://soundcloud.com/vatogonzalez/earthquakeremix");
 });
}); 

次に、サイト コードは次のように呼び出しますparent.frames[0]

$(document).on('click','a.sc-playme4', function(event) {
  parent.frames[0].play("http://soundcloud.com/vatogonzalez/earthquakeremix");
});

これが動作中のプランカーです: http://plnkr.co/edit/AvlipjpPvE7x15CstAiU?p=preview Play Me 4 が機能します。Play Me 3 が正しく動作しません。Play Me 3 とその他のリンクをクリックして、両方が同時に再生されることを確認します。

于 2013-07-05T00:57:35.400 に答える