小编Nov*_*ist的帖子

仅从 html5 视频/音频加载元数据

首先,我想问这个问题。如果没有任何其他视频内容,我无法加载元数据。preload = "metadata"不管用。我在 Win Chrome 上测试,不知道它在 Safari/FF/IE/Opera 上是如何工作的。因此,我无法快速加载六个或更多视频剪辑。Chrome 可能在类似的端口/协议/域上保留六个打开的连接。如果我加载了六个以上的视频,则最后一个视频不会开始加载,而前六个视频完全加载完毕

jsfiddle 需要吗?我可以创造,但我认为没有必要。例如。HTML:10 个 html5,<video>每个大约 100 mb 和preload=metadata属性。JS(使用 jQuery 只是为了清楚起见):

$('video').on('loadedmetadata',function(){
  console.log(this.duration);
}).each(function(i){
  this.load();
});
Run Code Online (Sandbox Code Playgroud)

然后在 Chrome Dev Tools 中打开“网络”选项卡并重新加载页面。六个视频将开始加载并加载完整内容,而其他四个视频将等待(pending)标记。起初,在控制台中会出现 6 条消息。完全加载任何第一个视频后会出现新消息。

我尝试了很多东西,但每一个都失败了。现在我想在服务器端获取元数据。PHP 上有什么解决方案吗?但是JS解决方案会更好。

我也知道使用 Youtube,可能是 Vimeo 和其他一些网站的解决方案。这就是将视频保存在某些子域(s1.youtube.com、s2.youtube.com 等)上。但我不能使用它。我制作网站模板,它有一些要求。

我有很多视频的视频库。在第一次播放视频之前,播放器必须显示持续时间并知道宽度/高度。另外我想从视频中间取帧用于视频海报。任何停止视频加载和关闭连接的解决方案都是我最需要的。它确实解决了获取元数据的麻烦。

javascript php html5-video html5-audio

5
推荐指数
1
解决办法
2922
查看次数

Chrome 中的错误行为“onselectstart”

有必须使用“移动”光标移动的可拖动元素。当我移动元素时,光标将变得像选择一样。我尝试.onselectstart = function(e) { return false }在“mousedown”和.onselectstart = null“mouseup”上使用。它运作良好。但是在页面上进行任何选择后它就会停止工作。我只在 Google Chrome 和 Maxthon 中观察到它。

所以,看看http://jsfiddle.net/JqMgE/1/

有时需要多选几次才能调用这个bug。

html javascript

3
推荐指数
1
解决办法
1682
查看次数

标签 统计

javascript ×2

html ×1

html5-audio ×1

html5-video ×1

php ×1