Javascript 禁止加载媒体资源失败

Javascript 禁止加载媒体资源失败,javascript,php,html,Javascript,Php,Html,我的html中有一个音频标记,其中有src=”“。 当我播放音乐时,我从javascript更改src值。 然而,当加载页面时,我得到一个错误 无效的URI。加载媒体资源失败。game.php 未能加载所有候选资源。媒体加载暂停 我知道为什么,源逻辑上不存在。有没有办法告诉音频元素不要从一开始就加载src <div style="display: none;" > <audio tabindex="0" id="audio" controls preload="auto" lo

我的html中有一个音频标记,其中有src=”“。 当我播放音乐时,我从javascript更改src值。 然而,当加载页面时,我得到一个错误

无效的URI。加载媒体资源失败。game.php 未能加载所有候选资源。媒体加载暂停

我知道为什么,源逻辑上不存在。有没有办法告诉音频元素不要从一开始就加载src

<div style="display: none;" >
<audio tabindex="0" id="audio" controls preload="auto" loop="true">
    <source src="">
</audio>
</div>

谢谢

从初始html中删除
,然后

var a = new Audio('someaudio.mp3');

// File does not exist
a.onerror = function() {
    //nothing
};
//File exists
a.onloadeddata = function() {
    //add source from javascript
};
从初始html中删除
,然后

var a = new Audio('someaudio.mp3');

// File does not exist
a.onerror = function() {
    //nothing
};
//File exists
a.onloadeddata = function() {
    //add source from javascript
};
只需创建
元素,而不使用任何
s,如

<audio tabindex="0" id="audio" controls preload="auto" loop="true">
</audio>
只需创建
元素,而不使用任何
s,如

<audio tabindex="0" id="audio" controls preload="auto" loop="true">
</audio>
请注意,必须创建“源”元素而不是“src”。i、 e.
var source=document.createElement('source')
。对于在Mozilla中搜索控制台警告“无效URI。加载媒体资源失败”的读者,这个答案对我很有帮助。您也可以在此处设置'type'属性,即
source.setAttribute('type','audio/ogg')
如果您需要,当然:)我对这个答案的编辑由于某种原因没有保存,我将它们放在了注释中请注意,必须创建'source'元素而不是'src'。i、 e.
var source=document.createElement('source')
。对于在Mozilla中搜索控制台警告“无效URI。加载媒体资源失败”的读者,这个答案对我很有帮助。您也可以在此处设置'type'属性,即
source.setAttribute('type','audio/ogg')
,当然,如果您需要:)由于某些原因,我对该答案的编辑未保存,我将它们放在了注释中