2012-02-17 29 views
0

私はこれを使って私の髪を引き出しました。 通常、何かがうまくいかないときはIEだけです。 これはFFとOperaでは動作しません。jQuery jPlayer.event.endedはChrome、Safari、IE9では動作しますが、OperaとFireFoxでは動作しません

playSound()が呼び出されているため、すべての条件が で、サウンドが再生されています。

しかし、音の終わりにサウンドボタンなどはresetSound()でリセットされるはずです。

これはChrome、IE9、Safariで100%動作します。 誰もFFとOperaで動作しない理由を教えてもらえますか?

function clickSoundbtn(clicked) { 
console.log('clickSoundbtn'); 
if (clicked != bucket['playing_now'] && clicked != bucket['current']) { 
console.log('clickSoundbtn'); 
$('#jquery_jplayer').unbind($.jPlayer.event.ended).bind($.jPlayer.event.ended, function() { 
    console.log('resetting sound'); 
    resetSound(bucket['playing_now']); 
    $('#jquery_jplayer').unbind($.jPlayer.event.ended); 
    bucket = []; 
    saiseichuu = []; 
    }); 
playSound(clicked); 
} 
else 
{ 
    if (bucket['current']) 
    stopAll(); 
    else 
    resetSound(clicked); 
} 
} // end of function: clickSoundbtn 
+0

うーん、私は一般的な感覚のものがここにリファクタリングすることができてい...とにかく、より多くのコンテキストが役立つだろう..あなたが使用しているマークアップとjPlayerのコンストラクタのオプションは、私たちを助けるだろう。..フィドルやページへのリンク*ほとんどの*役に立つでしょう.. – Lloyd

答えて

0

私は何が間違っているかを考え出しました。 このコードはAJAX経由でdivに呼び出されました。

他のすべてのコードは、親スクリプトに残ることができます。 Jplayerを呼び出されたAJAXスクリプトの中に再初期化する必要があります。

ステップ1:プレーヤーを初期化するコードは、CALLEDスクリプトにあります。

my_jPlayer = $("#jquery_jplayer"); 
my_jPlayer.jPlayer({ 
swfPath: "/javascript/Jplayer.swf", 
wmode: "window" 

ステップ2:プレーヤーのdiv要素も呼ばれるスクリプトに含まれています。

<div id=jquery_jplayer></div> 

ステップ3: my_jPlayer変数はグローバルとして親スクリプトに割り当てられていることを確認します。

var my_jPlayer; 
関連する問題