javascript - 音频无法准备好音频 'property' 未定义

标签 javascript jquery html5-audio

我的 html 中有这个音频标签

<!-- audio -->
    <audio>
    <source src="core/music/error.ogg" type="audio/ogg">
    <source src="core/music/error.mp3" type="audio/mpeg">
    <!-- end of audio -->
</audio>

然后是暂停音频的脚本

var audio = document.getElementsByTagName("audio")[0];
audio.pause();

但是我收到一条错误消息“未捕获类型错误:无法读取未定义的属性‘暂停’”。有什么想法或线索上面的代码有什么问题吗?

最佳答案

问题是该元素尚未添加到 DOM,因此 getElementsByTagName 无法找到目标 audio 元素。您可以将脚本移至 body 标记的末尾或监听 DOMContentLoaded事件。

document.addEventListener("DOMContentLoaded", function(event) {
    var audio = document.getElementsByTagName("audio")[0];
    audio.pause();
});

关于javascript - 音频无法准备好音频 'property' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30339134/

相关文章:

javascript - <Audio> 通过 Javascript 回退

javascript - For循环不循环图形的数据

javascript - 无法使复选框自定义图像显示复选标记

javascript - 如何在不单击按钮的情况下使用颜色选择器更改背景颜色?

javascript - 折叠/展开时动画字体 Awesome Chevron 图标旋转

javascript - 可排序树中的可点击图标

html - 为什么“音频”在HTML5游戏中会是这样的问题,请多久才能解决?

JavaScript + HTML5 : Audio will only play once under certain circumstances

php - JS/PHP 数组合并

javascript - Styled-components 获取 props 值到 javascript 变量