我试图每5秒产生一次随机声音,而我的问题是更改javascript中html中音频标签中的src(请参阅代码) 我收到这个错误 未被捕获的TypeError:无法将属性'src'设置为null
有人可以向我解释我在做什么错吗?
(JS)
document.getElementById("song-generator").src = "test.mp3";
(html)
<embed
id="song-generator"
hidden="true"
name="test"
src=""
loop="true"
autostart="true"
/>
答案 0 :(得分:0)
document.getElementById("song-generator")
评估为null
的事实告诉我一些可能的事情:
如果这些问题在检查后仍然存在,那么我怀疑您在加载HTML之前正在调用getElementById
。为了解决这个问题,我将JS代码包装在'load'事件的事件监听器中,如下所示:
<!-- Either put your actual JS code here, or link a script -->
<script>
window.addEventListener("load", () => {
//put business logic here
document.getElementById("song-generator").src = "test.mp3";
});
</script>
或者,您可以使用window.onload
,它执行the same thing:
<!-- Either put your actual JS code here, or link a script -->
<script>
window.onload = () => {
//put business logic here
document.getElementById("song-generator").src = "test.mp3";
});
</script>