2

フッターにオーディオプレーヤーがあるアプリを書いています。リンクをクリックするたびに、ページ全体が読み込まれ、オーディオプレーヤーが再起動されます。私の質問特定のdivを除いて、ページ全体をどのように再読み込みしますか?

4

2 に答える 2

3

それは不可能だと思います。多分あなたのアプローチを変えるでしょう。更新する特定の領域のみをリロードします。実際、これらの領域は単一の(場合によっては大きな)divタグに含まれている可能性があります。次に、jQueryajaxを使用してそのdivを更新できます。そのためには、ロードが進むべき道です。

$('#result').load('ajax/test.html', function() {
  alert('Load was performed.');
});

編集:

リンクを使用したより具体的な例を次に示します(頭から書き留めただけです)。

<script type="text/javascript">
   $(function(){
      $("#myLink").click(function(event){
        $("#updateThisDiv").load($this.attr('href'), function(){
          alert('div updated!');
        });             
        return false; // or event.preventDefault();
      });
    });
</script>

そして、あなたのリンクは次のようになります:

<a href='pathTo/Page' id='myLink'>Link text</a>

...

<div id="updateThisDiv"></div>
于 2012-12-21T04:41:50.790 に答える
0

したがって、jQueryajaxを使用しています。div全体をajaxでリロードしても、オーディオオブジェクトは同じままです。そのため、オブジェクトを使用してオーディオの進行状況を再度生成できます。

編集:
ページをリロードするかどうかを提案するだけです。
まず、currentTimeajaxを使用して、オーディオオブジェクトをセッションまたはデータベースに保存します。そして、ユーザーがそのオーディオをロードするときは、それから始めcurrentTimeます。
あなたはこのようなことをすることができます:

 yourAudioObject.addEventListener(
                    'timeupdate',
                    function() {
                     $.ajax ({
            type:'get',
            url:'your/path/?currenttime='+yourAudioObject.currentTime, 
            ......
于 2012-12-21T04:49:20.663 に答える