HTML5视频canPlay事件第二次无法正常工作

时间:2014-07-25 14:21:03

标签: javascript php jquery html5

我在php的某个网站上工作。页面通过ajax加载。其中一个页面有HTML5视频。在视频播放之前,我会在它上面显示一个加载器。进入canPlay事件后,我删除了加载器div。但问题是,当我第一次来到这个页面时它工作正常并进入canplay功能。但如果我转到下一页然后回来它并没有进入canplay功能,那么加载图像就不会被删除。

任何人都可以帮助我并告诉我一个解决方案。提前谢谢。

var videoObj = document.getElementById('video');
jQuery('.moduleBody').append('<div class="videoLoader" id="videoLoadingDiv"><img src="images/loader.gif" /></div>');
jQuery(videoObj).on('canplay', function(){
    jQuery('#videoLoadingDiv').remove();
});

此致

NEHA

3 个答案:

答案 0 :(得分:1)

我发现了问题所在。该视频正在缓存,因此刷新时它仍然在浏览器中缓存。所以我所做的是,我将一个随机值作为参数传递给&#39;视频&#39;标签。所以现在视频不会在浏览器中缓存,而是进入canPlay()函数。

无论如何,谢谢你的回答。

此致

NEHA

答案 1 :(得分:0)

有很多代码缺失,但我会把你的脚本放在这个

$( document ).ready(function() {
    console.log( "ready!" );
});

还考虑使用.hide();而不是.remove();

使用使用$(window).unload(function(){});方法

答案 2 :(得分:0)

然后添加它可能不会伤害

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />