HTML如何在避免在找不到图像的情况下显示一个破损的图像

874 阅读1分钟

当我在一个网站上工作时,我正在根据当前页面的URL动态地加载一个图像。

由于确信我最终会忘记在未来创建一个图像,所以我研究如何避免出现通常的 "破损的图像",即 "这个网站被放弃了"。

我使用的技术是这样的:

<img src="/{{$bookname}}.png"  
     onerror="this.remove()" 
/>

提示:HTML中内联事件处理程序内的this ,指的是 "这个元素"

当然,最理想的方法是确保图像总是工作的。而这从很多角度来看都不是最优的。但这是一个使用平台功能的变通方法,因为我知道我可能不会注意到这一点,因为我是一个单独的开发者,我可能在意识到之前有一个破损的图像可见几个星期。

你可以做的另一件事是显示一个后备图像,如果你需要的话,以这种方式:

<img src="/{{$bookname}}.png" 
     onerror="this.onerror=null; this.src='fallback.png'" 
/>

this.onerror=null 这里需要的是,如果找不到后备图片,就不会出现 "无限循环"。