我正在编写一个在页脚上有音频播放器的应用。每次我点击一个链接整个页面本身加载,因此音频播放器正在重新启动,我的问题你如何重新加载整个页面除了某个div?
答案 0 :(得分:3)
我认为这是不可能的。也许改变你的方法。仅重新加载要刷新的特定区域。实际上,这些区域可能包含在单个(可能很大)的div标签中。然后你可以使用jQuery ajax更新该div。为此,load是要走的路:
$('#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>
答案 1 :(得分:0)
所以你正在使用jQuery ajax。即使你用ajax重新加载整个div,音频对象也保持不变。因此,您可以在对象的帮助下再次生成音频进度。
编辑:
如果您正在重新加载页面,请提出建议
首先使用ajax在会话甚至数据库上保存音频对象的currentTime
。当用户加载该音频时,请从currentTime
开始。
你可以这样做:
yourAudioObject.addEventListener(
'timeupdate',
function() {
$.ajax ({
type:'get',
url:'your/path/?currenttime='+yourAudioObject.currentTime,
......