我认为此代码应播放声音,然后显示警告框。它适用于IE9,但使用Chrome& Firefox,声音播放,但回调从未被调用 - 所以没有警报框。
我是一名c#,c ++程序员,刚接触javascript,我可以使用一些帮助!感谢。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript">
var playAll= function(){
var audio = document.getElementById('s');
var callback = function(e){
alert("ended");
};
audio.onended = callback;
audio.play();
}
</script>
</head>
<body>
<input name="Button1" type="button" value="Play" onclick="playAll()"/>
<audio ID="s">
<source src="s.mp3" >
<source src="s.ogg" >
</body>
</html>
答案 0 :(得分:4)
为了确保它不是无效html的问题,请使用以下有效版本
<audio ID="s">
<source src="s.mp3" />
<source src="s.ogg" />
</audio>
然后使用正确的方式绑定事件。
audio.addEventListener( "ended", callback, false);
答案 1 :(得分:3)
onended
似乎是针对IE9的,Chrome和Firefox会触发事件ended
,您可以将事件绑定到这样:v.addEventListener("ended", function() { alert("ended"); }
请记住,HTML5规范仍在开发中,并非所有浏览器都以相同的方式实现它。
这里有一个类似的问题:HTML 5 Video OnEnded Event not Firing