音频文件不能在Safari玩.. 它给出了一个错误类型错误:未定义”不是一个函数(评估 'myAudio.play()')”
TypeError: 'undefined' is not a function (evaluating 'myAudio.play()')
这是我的HTML代码。
<audio>
<source src="audio/horse.ogg" type="audio/ogg">
<source src="audio/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
这是我的JavaScript代码
myAudio = document.getElementsByTagName('audio')[0];
if (typeof myAudio.loop == 'boolean'){
myAudio.loop = true;
}
else{
myAudio.addEventListener('ended', function() {
this.currentTime = 0;
this.play();
}, false);
}
myAudio.play();
我只有一个音频标签在HTML中。
看起来像你在事件中使用'this'。它不同于函数声明之外。尝试做'自己=这个';'只是在外面引用'self.play()'而不是this.play()。我不喜欢那个音频对象。它是否将“this”放入事件数据中?重新读你的意图,而不是纯粹的代码。你想重新启动。使用“myAudio.play()”而不是“this.play()”? –
看来** document.getElementsByTagName('audio')[0] **返回null。您的Javascript是在HTML代码上面定义的吗?它需要在HTML下方才能找到音频元素。 – levi
此代码正在Chorme,Opera,Firefox,Konquer中工作.... –