将currentTime设置为<音频>元素导致Firefox崩溃
Setting currentTime on <audio> element crashes Firefox
我发现在HTML5 <audio>
元素上以编程方式设置currentTime
属性会导致Firefox 43崩溃(实际上会杀死整个浏览器,而不仅仅是产生JS错误)
我的JavaScript代码如下所示:
// 'offset' variable set to valid numeric value elsewhere
audio.addEventListener("canplay", function() {
audio.currentTime = offset;
});
audio.play();
相同的代码在最新的Chrome(47.0)中运行良好
我的代码出现了两个问题。为了防止浏览器崩溃,我需要删除<audio>
元素上的autoplay
属性,然后忘记了:
<audio id="player" autoplay></audio>
在我这样做之后,浏览器不再完全崩溃,但音频播放出现了故障,很快就跳过了。
第二个问题在我阅读了这个问题并在设置currentTime后删除了事件处理程序后得到了解决(事实证明,设置currentTime
会导致canplay
事件再次触发,从而创建一个无限的事件循环,但由于某种原因,仅在Firefox上,而不是Chrome上)。
我在Firefox和Chrome上的最后一段代码是这样的:
function onCanPlay(){
audio.currentTime = offset;
audio.oncanplay = null;
}
audio.oncanplay = onCanPlay;
相关文章:
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 将数组元素附加到FormData dos'不适用于Firefox 15
- Firefox赢得了'不会显示我添加的jquery元素,但Chrome会显示
- 元素意外地隐藏在Safari的某些实例中,总是出现在Firefox、Chrome中
- javascript()onclick隐藏元素-dos'我不在firefox工作
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- firefox扩展/如何访问动态创建的元素
- 重定向Firefox'的web控制台输出到页面元素
- 使用Firefox bookmarklet在元素上触发鼠标单击
- HTML5<视频>元素在Firefox、Opera和Safari中不起作用
- FireFox-在全局作用域中由id名称引用的元素.使用w3c标准
- 在firefox上的滚动事件中移动元素
- jQuery show/fadeIn不将display:block应用于隐藏的父元素内的子元素-仅限FireFox
- firefox中的浮动元素问题
- 在Firefox中的keydown事件中隐藏元素时焦点顺序错误
- 在 Firefox 中单击鼠标时无法选择所有输入元素文本
- 仅限 Firefox/IE - 元素 show() jquery 后冻结的 gif 动画
- 使用Stellar.js时,绝对定位的元素在FireFox中未正确定位
- 文档元素Firefox之后的垃圾使用JQuery Get加载内容时出错
- 不能读取元素.firefox中的原型