Force-loads every image in a Webtoons chapter on page open instead of lazy-loading on scroll. Handles SPA navigation between chapters.
Webtoons.com lazy-loads chapter images as you scroll, which produces a brief blank-image flash every time a new panel comes into view — especially noticeable on slower connections or long chapters. This script forces the browser to fetch the entire chapter immediately on page open. By the time you scroll, every image is already in cache.
It also handles the in-place navigation Webtoons uses between chapters: when the image list swaps without a full page reload, the preloader re-runs automatically.
For every <img> inside #_imageList, the script copies the real URL from
data-url to src and sets loading="eager" and decoding="async" to nudge
the browser to fetch immediately. A MutationObserver re-runs the same pass
whenever new images appear (chapter changes, dynamically inserted nodes), and
is filtered to image-adding mutations only so it doesn't fire on every unrelated
DOM tick.
A small status bubble in the bottom-right corner shows preload progress and fades out once everything's loaded.
The script uses @grant none, so it has no userscript-manager privileges
beyond plain DOM access — no network APIs, no storage, nothing it could
exfiltrate even in principle.
www.webtoons.com/*/viewer*. The mobile site
m.webtoons.com is not matched.Chrome users: since Manifest V3, Tampermonkey requires Developer Mode enabled in
chrome://extensions/for userscripts to run. Flip the toggle once.
github.com/hervad/webtoons-chapter-preloader — bug reports and pull requests welcome. When reporting a bug, please include a chapter URL where the issue reproduces (markup occasionally varies by genre/locale).