我在 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 抛出错误的地方。
任何想法可能是错误的?
最佳答案
oog
在 IE 中不受支持 .. 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>
- metadata:表示只取音频元数据(如长度);它还允许浏览器仅下载足够的文件来获取元数据,例如大小、维度和持续时间。
有时 preload="auto"
可能有效,但您必须进行测试!?
您可能必须在 audio
元素 src
属性中指定您的音频源,而不是子 source
元素
<audio src="mp3/ambient.mp3" controls autoplay loop id="musicGame">
HTML5 audio not supported
</audio>
还在为 HTML5 使用正确的 DOCTYPE
吗?
<!DOCTYPE html>
并且像这样为 IE9 使用正确的 meta 标签
?
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
而不是使用 $('#musicGame')[0]
您是否也尝试过只使用?
document.getElementById("musicGame");
一些有用的资源链接:
关于javascript - HTML5 音频 IE9 错误 : Unexpected call to method or property access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002836/