在我的图像上,我设置了onerror
属性,以便在图像由于某种原因不可用时使用占位符:
<img
class="article-img"
src="path-to-image.jpg"
alt="some description"
onerror="this.src='/images/fallback.png'"
>
现在,看起来onerror
已被弃用,但我找不到任何关于处理错误的建议替代方法(可能以类似的紧凑方式(的好来源。
知道为什么它被弃用也会很有趣。
我认为这是一个错误。
WHATWG仍然在他们的HTML生活标准规范中提到了onerror
。
此外,img
元素上的onerror
属性不包括在其过时的功能列表中。
根据 MDN 的说法,它似乎被弃用为 img 标签属性,而不是全局事件;GlobalEventHandlers.onerror 仍然有效,而且看起来,他们还没有将标签属性事件分类为已弃用(在该部分中(,他们仍然显示一个 img 属性示例。
参考: https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror
所以你仍然可以使用它,但只是不要把它用作标签属性,你可以把它放在脚本标签或单独的文件中。
顺便说一下,我刚刚在 w3c 验证器上测试了一个带有 onerror 属性的 img 标签,它既没有将其标记为错误,也没有将其标记为警告。
如果您直接输入值,Chrome 将忽略 onerror 属性,如下所示:
<img src="yourimg.jpg" onerrror="error.png" />
要解决此问题,请在值中使用一点 JS
<img src="yourimg.jpg" onerrror="this.src='error.png'" />