📅  最后修改于: 2023-12-03 14:48:09.877000             🧑  作者: Mango
在 JavaScript 中,当我们尝试加载一个资源时,有时会遇到 DOMException 异常。其中一个常见的异常是 "Uncaught (in promise) DOMException: 加载失败,因为没有找到支持的源。"
这个异常通常发生在以下几种情况下:
在出现这个异常时,可以通过以下几种方式解决:
首先,检查你是否输入了正确的资源路径。如果你使用的是相对路径,请确保路径正确,特别是在引用嵌套文件夹中的资源时。
如果资源路径是正确的,接下来需要检查资源是否真的存在。你可以尝试手动在浏览器中打开该资源,或者使用开发者工具来检查资源是否存在。
如果资源路径和资源本身都是正确的,但仍然无法加载,那么问题可能是服务器返回的 MIME 类型与客户端请求的 MIME 类型不匹配。在这种情况下,你可以使用以下两种方法来解决:
在 JavaScript 中,你可以使用 Blob 和 URL.createObjectURL() 方法来加载资源并指定正确的 MIME 类型。示例代码如下所示:
fetch('path/to/resource')
.then(response => response.blob())
.then(blob => {
const url = URL.createObjectURL(blob);
const audio = new Audio(url);
audio.type = 'audio/wav'; // 指定正确的 MIME 类型
audio.play();
})
.catch(error => console.error(error));
总之,当你遇到 "Uncaught (in promise) DOMException: 加载失败,因为没有找到支持的源。" 异常时,不要慌张。根据上述方法逐一排查问题,相信会成功解决问题。