我应该使用什么来代替已弃用的 `onerror` 属性?

Ste*_*ano 16 error-handling fallback image placeholder

在我的图像上,我设置了onerror属性,以便在图像由于某种原因不可用时使用占位符:

<img
    class="article-img"
    src="path-to-image.jpg"
    alt="some description"
    onerror="this.src='/images/fallback.png'"
>
Run Code Online (Sandbox Code Playgroud)

现在,它看起来onerror 已被弃用,但我找不到任何关于处理错误的建议替代方法的好的来源(可能以类似的紧凑方式)。

知道为什么它被弃用也会很有趣。

Max*_*Max 9

我认为这是一个错误。

onerrorWHATWG在他们的HTML 生活标准规范中仍然提到。

此外,元素onerror上的属性img不包含在其过时的功能列表中。


小智 7

根据 MDN 的说法,它似乎已被弃用作为 img 标签属性,但不作为全局事件;GlobalEventHandlers.onerror 仍然有效,而且看起来,他们还没有将标记属性事件分类为已弃用(在该部分中),他们仍然显示 img 属性示例。

参考:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror

所以你仍然可以使用它,但只是不要将它用作标签属性,你可以将它放在脚本标签或单独的文件中。

顺便说一下,我刚刚在 w3c 验证器上测试了带有 onerror 属性的 img 标签,它没有将其标记为错误,也没有将其标记为警告。

  • 我在 JetBrains 软件中收到 IDE 警告,因为我将其用作属性 fwiw。 (20认同)