gpt4 book ai didi

javascript - Chrome 视频元素 canplay 事件未触发

转载 作者:数据小太阳 更新时间:2023-10-29 04:01:00 25 4
gpt4 key购买 nike

在 Windows 7 和 Linux (Ubuntu 13.10) 上的 Chrome 31 中,video 元素上的事件处理程序注册了 canplay(和 oncanplay ,只是为了确保)永远不会开火。当我检查 DOM 节点时,没有 oncanplay 属性。 spec说它应该存在。有谁知道 Chrome 何时或是否会支持此事件?

最佳答案

Chrome 确实支持 canplay 事件。您看不到它是因为检查器只显示所有元素上的那些属性,而不仅仅是媒体元素。它也不显示 loadedmetadatadurationchange 等,但 Chrome 绝对支持这些。

我没有看到您的代码,但我猜您会看到事件触发(假设您正在正确监听)的一个可能原因是您错过了该事件。除非您在视频中跳过很多,否则 canplay 只会触发一次。因此,如果事件在您附加监听器之前触发,那就太晚了。

相反,您可以检查状态,就像这样...

//assume you've already set up the video variable to point to your video element
if (video.readyState >= video.HAVE_FUTURE_DATA) {
console.log('video can play!');
} else {
video.addEventListener('canplay', function () {
console.log('video can play!');
}, false);
}

(根据您要实现的目标,您可能希望以任何一种方式附加事件监听器。如果缓冲数据用完,视频的 readyState 可以恢复,并且 canplay 稍后可能会再次触发。

关于javascript - Chrome 视频元素 canplay 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com