Live data from Hacker News

HTML-only conditional lazy loading (via preload and media)

orga.cat

1–10 of 23 posts

Re: HTML-only conditional lazy loading (via preload and media)

#3
> The accepted practice is to not add lazy-loading to images above the fold, especially the LCP image.

I didn't know that. Apparently (at least according to Claude) you shouldn't use loading="lazy" on images that you expect to always display because doing so causes them to not be loaded until the browser has determined they are definitely in the viewport, which is a minor performance regression.

LCP = Largest Contentful Paint, the Core Web Vitals metric for when the largest visual element finishes rendering. That's usually the largest above-the-fold image.

Re: HTML-only conditional lazy loading (via preload and media)

#4
post #3

> The accepted practice is to not add lazy-loading to images above the fold, especially the LCP image. I didn't know that. Apparently (at least according to Claude) you shouldn't use loading="lazy" on images that you expect to always display because doing so causes them to not be loaded until the browser has determined they are definitely in the viewport, which is a minor performance regression. LCP = Largest Content…

Yes but the post is explicitly about images that are initially loaded only on certain devices/screen sizes, hence the need for conditional application of lazy loading.

Re: HTML-only conditional lazy loading (via preload and media)

#5
> Not documented anywhere (but seems to work fine in major browsers)

Which part of it is not documented? Putting device width dependent preloading in HTTP header? MDN says that the HTTP link header works the same way as the link element, and also that the link element a has media attribute : https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...

Re: HTML-only conditional lazy loading (via preload and media)

#6
post #5

> Not documented anywhere (but seems to work fine in major browsers) Which part of it is not documented? Putting device width dependent preloading in HTTP header? MDN says that the HTTP link header works the same way as the link element, and also that the link element a has media attribute : https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...

I could not find this hack documented or discussed anywhere, that's what I meant.

Re: HTML-only conditional lazy loading (via preload and media)

#7
I like this solution, it looks very simple and should’ve been consider as part of best practices if it works technically. However, I also think that this whole trade off is broken from the beginning, it should be part of browser’s set of rules to either decide or not it should render the image or not by default, and the decision of eagerly load an image should just an hint given by the developer as a scape hatch. The current approach forces the decision to be forcefully deferred to the application which needs to guess what’s the best approach for the current set of devices in the market which also adds a constant maintenance burden.
Post reply on HN