Firefox第一次/页面加载时不会触发“播放”或“播放”事件

时间:2013-04-09 21:02:03

标签: javascript html5 firefox javascript-events html5-audio

我似乎无法让Firefox v20.0解雇"播放"或者"玩"音频播放器在页面加载时播放音频文件时的第一次事件。

如果我点击暂停,然后点击播放,那么"播放"和"玩"事件触发,但不在初始页面加载。

我已尝试绑定"播放" /"播放"使用vanilla JS的事件,甚至尝试使用jQuery的bind()方法,但无济于事。

在Chrome v26.0.1410.64和IE 10中似乎工作正常。这是Firefox中的错误吗?

// HTML
// ---------------------------------------------------
<audio controls="" preload="auto" autobuffer autoplay>
    <source src="bc.ogg" type='audio/ogg'>
</audio>


// JS
// --------------------------------------------
// Assume player is <audio>

player.addEventListener('playing', function() {
    console.log('PLAY');
});

我的最终目标是在播放音频时用PAUSE按钮替换自定义PLAY按钮。

1 个答案:

答案 0 :(得分:2)

音频元素可能在侦听器绑定之前开始播放。由于DOM的构建和处理方式存在内部差异,因此在某些浏览器中可能会发生这种情况,而在其他浏最好的解决方案是在页面完全加载后绑定侦听器并播放音频元素,而不是依赖浏览器在需要时启动它。