当在 JavaScript 中加载图像失败时,如何检索特定的错误或 HTTP 状态代码?

When loading an image in JavaScript fails, how can you retrieve the specific error or HTTP status codes?

提问人:Jeremy Koppel 提问时间:10/16/2023 更新时间:10/16/2023 访问量:39

问:

我已经尝试了几种不同的方法,虽然我发现有几种方法可以在加载图像时发生错误,但我试图弄清楚如何确定错误到底是什么。它看起来像返回一个 Event 对象而不是一个 Error 对象: https://www.w3schools.com/jsref/event_onerror.asponerror

下面是一个简单的例子,去掉了 Promise 包装器和其他与此问题无关的代码:

JSfiddle:https://jsfiddle.net/4b3n2gwp/1/

function load_image(url) {
    const img = new Image();
    img.onload = () => {
        console.log(`Image loaded:  ${img.src}`);
    }
    img.onerror = (e) => {
        console.log(`Could not load image '${img.src}':  ${JSON.stringify(e, null, 4)}`);
    }
    img.src = url
}

load_image('https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png');

load_image('i_do_not_exist.jpg');

返回的事件似乎不包含任何有用的信息:

"Image loaded:  https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"

"Could not load image 'https://fiddle.jshell.net/_display/i_do_not_exist.jpg':  {
    \"isTrusted\": true

在这种情况下,由于映像不存在,浏览器的控制台也会单独记录 GET HTTP 404 错误;有什么方法可以以编程方式获得它吗?

JavaScript 图像 http-status-codes 处理 onerror

评论


答: 暂无答案