javascript - HTML5 音频 IE9 错误 : Unexpected call to method or property access

标签 javascript jquery html internet-explorer audio

我在 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/

相关文章:

javascript - Bootstrap 导航栏项目根据文件名处于事件状态?

javascript - 停止单选按钮运行多次

javascript - 无法使用 jQuery 更改 css 背景属性

尽管有 web.config 条目,带有 ASP.NET WCF 服务的 jQuery AJAX CORS 仍无法工作

css - 将 Waze 按钮添加到移动网站

javascript - 基于 cookie 值的谷歌分析数据

javascript - 外部依赖项在 Nav.svelte 中不起作用

Jquery获取动态生成的控件Id

html - 简单表单复选框左对齐

html - 以从右到左的语言从左到右显示电话号码