我在IE9中的部分JavaScript代码存在问题。
当我启动页面时出现错误:意外调用方法或属性访问。
这是html文件中的音频标签:
<audio controls loop preload id="musicGame">
<source src="mp3/ambient.ogg" type="audio/ogg" />
<source src="mp3/ambient.mp3" type="audio/mpeg" />
</audio>
我在javascript中调用我的音频标签:
musicGame = $('#musicGame')[0];
然后我暂停它,因为我有一个静音按钮,我需要暂停我页面上的所有歌曲,以便静音工作。
musicGame.pause();
这是IE9抛出错误的地方。
任何想法可能出错?
答案 0 :(得分:2)
oog
。mp3
但是在IE9 +中支持..
尝试设置preload
属性,因为IE9可能存在preload
属性问题,因此请尝试将其设置为preload="metadata"
<audio controls loop preload="metadata" id="musicGame">
<source src="mp3/ambient.ogg" type="audio/ogg" />
<source src="mp3/ambient.mp3" type="audio/mpeg" />
</audio>
有时preload="auto"
可能会有效,但您必须进行测试!?
您可能需要在audio
元素src
属性中指定音频源,而不必使用子source
元素
<audio src="mp3/ambient.mp3" controls autoplay loop id="musicGame">
HTML5 audio not supported
</audio>
对HTML5使用正确的DOCTYPE
?
<!DOCTYPE html>
正在使用正确的meta tag
这样的IE9吗?
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
而不是使用$('#musicGame')[0]
你还尝试过使用?
document.getElementById("musicGame");
一些有用的资源链接:
答案 1 :(得分:0)
Mp3有效,IE的问题是播放.wav和.ogg
适用于IE9 - Chrome - Safari和Firefox
var sound = new Audio("/pop.mp3");
sound.play();
答案 2 :(得分:0)
将DOCTYPE声明<!DOCTYPE html>
添加到html代码的开头。它告诉浏览器如何在符合标准的模式下呈现页面。现在HTML5
音频将在IE9中运行。