Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.
While working on a website, I was loading an image dynamically based on the current page URL.
Since I knew I’d eventually forget to create an image in the future, I looked into avoiding the usual “broken image” that says “this website is abandoned”.
The technique I used is this:
<img src="/{{$bookname}}.png" onerror="this.remove()" />
TIP:
thisinside an inline event handler in HTML refers to “this element”
Sure, the optimal way is to make sure images are always working. But that’s not always realistic. This is a workaround that uses platform features because I know I might not pay attention to that as a solo developer and could have a broken image visible for weeks before I realize.
Another thing you could do is display a fallback image, if you need one, in this way:
<img
src="/{{$bookname}}.png"
onerror="this.onerror=null; this.src='fallback.png'"
/>
this.onerror=null here is needed so there’s no “infinite loop” if the fallback image is not found.