1

これが実際にどこかで尋ねられ、答えられた場合は、謝罪することで序文を書きます...私は、この問題の解決策を何日も言い直してグーグルで検索してきましたが、運がありませんでした。

私は、印刷物をデジタル形式に変換するウェブデザインのキャップストーン クラスのコード作成を担当しました。jquery-mobile フレームワークを使用することにしました。この取り組みを行う前は、jquery の経験はありませんでしたが、すぐに習得でき、非常に楽しんでいます。私は私たちのサイトに jquery-ui を使用しています。これは data-role="page" ナビゲーションを持つ 1 つの長い index.html ファイルを使用します。サイト内には著作物があり、一部には音声ナレーションが付いています。

私はhtmlオーディオタグを次のように使用しました:

<audio controls>
  <source src="audio/source.mp3" />
  <source src="audio/source.ogg" />
</audio>

オーディオは問題なく再生されますが、別の「ページ」に移動すると、サイト全体が更新されるか、一時停止ボタンがクリックされない限り、オーディオが停止しません。私が理解していることは、視覚的にはサイトがページからページへと移動しているのに対し、ブラウザは表示するように指示された部分のみを表示する単一の html ファイル内を移動しているだけです。

リンクまたはボタンがクリックされたときに再生中のオーディオを停止するように指示する、ページのどこかに挿入できる基本的な js コードはありますか? 繰り返しますが、ナビゲーションはすべて 1 つの html ファイル内で行われます。別の html ファイルにリンクすることによってではありません。

(1000 は長い話をお詫びします....私は具体的にすべきだと思いました)

すべてのヘルプと提案に感謝します

4

1 に答える 1

4

別のページpagebeforehideに移動するとトリガーされます。この段階でaudio、そのページと.pause()それらを見つけます。

$(document).on('pagebeforehide', function () {
 $(this).find('audio').each(function () {
  $(this)[0].pause();
 });
});
于 2013-04-23T16:56:03.507 に答える