如果找不到图像则回退

Fallback if image not found

如果未找到在 SVG <image> 元素上指定的文件,则结果不可预测。在 Firefox 中,我没有得到任何指示,也没有错误。在 Chrome 中,我得到了一些默认的框形风景图像。

有没有办法提供替代图像,例如漂亮的错误标记?我在 HTML 中看到了涉及属性的类似问题的解决方案:

onerror="this.onerror=null; this.src='Default.jpg'"

但这在我的 SVG 中不起作用(即使在将 src 更改为 href 之后)。我还看到了一个作弊,其中使用额外的 src 属性为正常的 href 提供了后备(请参阅 SVG Fallbacks),但它似乎依赖于浏览器中实现的一个怪癖,并且不再有效(至少在 Firefox 中无效)。

我正在寻找至少在 Firefox、Chrome 和 Edge 中有效的方法。

你想要

this.href.baseVal='Default.jpg'

由于 SVG 对 SMIL 的支持