我有一个网页,用户单击一个按钮,然后开始播放音频。
<button onclick="playAudio()">Play</button>
Run Code Online (Sandbox Code Playgroud)
但是,如果源URL不正确,它将在控制台中输出:
未捕获(承诺)NotSupportedError:加载失败,因为未找到受支持的源
var myAudio = new Audio();
myAudio.src = "myAudioSrc (incorrect url)";
function playAudio(){
myAudio.play();
//prints error
}
Run Code Online (Sandbox Code Playgroud)
如果源URL不正确,如何在控制台中防止此错误消息?
该错误是在您调用.play()时生成的,而不是在您分配无效时生成的src。如错误所示,要抑制此错误,您需要对返回catch的promise抛出的错误进行处理.play():
var myAudio = new Audio();
myAudio.src = "myAudioSrc (incorrect url)";
console.log('src has been assigned');
myAudio.play()
.catch(() => void 0);Run Code Online (Sandbox Code Playgroud)
因为嵌入的片段无论如何都不会显示错误,所以下面是一个在JSFiddle上的示例来说明区别:https ://jsfiddle.net/smjy5b9u/
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |