Short of it:
As far as I know, there is no way to do scroll-linked effects, delayed image loading, or "beacons" reliably without JavaScript.
Long explanation:
Browsers will request images up front for layout and DOM purposes, even if they're outside the current view. The HTML5 spec says that when scripting is disabled browsers may obtain images synchronously or asynchronously, but if scripting is enabled it must get them immediately. The spec indicates scripting is only considered disabled if the user turned it off, the browser doesn't support it, or the current document is in a sandbox.*
* Basically iframes with a sandbox attribute that doesn't contain allow-scripts
as part of the value.
An old comment on another StackOverflow question indicates there are other ways to try to prevent image loading, such as using background-image
, but they're not the same across browsers and can't be triggered by scrolling alone.