2

我正在编写一个在页脚有音频播放器的应用程序。每次我点击一个链接时,整个页面本身都会加载,因此音频播放器正在重新启动,我的问题是如何重新加载除某个 div 之外的整个页面?

4

2 回答 2

3

我相信这是不可能的。也许改变你的方法。仅重新加载要刷新的特定区域。事实上,这些区域可能包含在单个(并且可能很大)div 标签中。然后,您可以使用 jQuery ajax 更新该 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

所以你正在使用 jQuery ajax。即使您通过 ajax 重新加载整个 div,音频对象也保持不变。因此,您可以在对象的帮助下再次生成音频进度。

编辑:
如果您要重新加载页面,只是建议。
首先currentTime使用 ajax 将音频对象保存在会话甚至数据库中。当用户加载该音频时,从currentTime.
你可以这样做:

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