Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果视频在Chrome for OS X的浏览器缓存中,Video.js将无法播放_Javascript_Video.js - Fatal编程技术网

Javascript 如果视频在Chrome for OS X的浏览器缓存中,Video.js将无法播放

Javascript 如果视频在Chrome for OS X的浏览器缓存中,Video.js将无法播放,javascript,video.js,Javascript,Video.js,问题是间歇性的,但video.js无法加载和播放已缓存在Chrome for OS X中的mp4。以下是我目前知道的情况: 禁用缓存(当DevTools打开时)允许视频在重新加载时100%播放 如果未禁用缓存,并且手动清除了缓存,则问题仍然存在 关闭并重新启动Chrome将解决问题,直到下一页刷新 向源url追加?nocache=20131028-084318不能解决问题 通过Charles Proxy查看HTTP请求,我发现在成功运行时,HTTP请求会发送到Brightcove(我的视频主机

问题是间歇性的,但video.js无法加载和播放已缓存在Chrome for OS X中的mp4。以下是我目前知道的情况:

  • 禁用缓存(当DevTools打开时)允许视频在重新加载时100%播放
  • 如果未禁用缓存,并且手动清除了缓存,则问题仍然存在
  • 关闭并重新启动Chrome将解决问题,直到下一页刷新
  • 向源url追加?nocache=20131028-084318不能解决问题
  • 通过Charles Proxy查看HTTP请求,我发现在成功运行时,HTTP请求会发送到Brightcove(我的视频主机)。刷新失败时,请求永远不会发生
  • 成功运行VideoJS事件序列时:
    • 装载开始
    • 持续时间变化
    • 加载元数据
    • 加载数据
  • 在发生故障时:
    • 装载开始
  • 我尝试了多种设置视频元素的方法,包括这里提到的一种, 即使是这里提到的最基本的设置,后者似乎工作得更好;但是,一旦浏览器进入错误状态,则需要清除缓存并重新启动浏览器

我也有同样的问题,但在Chrome for Windows中。我第一次注意到它只有在开发工具打开时才会加载,然后我看到了你的问题,意识到开发工具绕过了缓存。

如果用户访问该页面(在某些浏览器上,如Safari 6.1等),视频将第一次播放。如果用户通过点击地址栏并点击“回车”键重新加载页面,视频将不会在“重新加载”页面上触发已加载/准备就绪(或任何其他)事件。如果用户使用刷新按钮或刷新键组合(通常)刷新页面,则不会发生此行为

我绕过了Brightcove播放器的问题,在页面上动态加载播放器,使其无法缓存

我还缓存了Brightcove JS文件,这是一个很好的措施

使用以下代码动态加载播放机:


只是一些固执己见的建议。尽可能远离Brightcove。我和我的同龄人在他们的播放器中遇到了很多bug,而且文档也非常糟糕。

我不确定这是否是特定于video.js的。我可以通过设置一个普通的html5视频标签来重现这个问题。这显然与缓存问题有关

目前,我可以通过将guid作为查询参数附加到视频url来避免这个问题,以确保Chrome认为这是一个新的视频请求。我确实认为有一个Chrome bug需要解决

我刚刚找到了一张与我可以复制的内容相匹配的票证: