demo · v143
Viewport dwell
The exact mechanism v143 changed: on mobile, "eager" eagerness now triggers prefetch / prerender once a link has been in the viewport for a short dwell time (no hover required). Scrub the dwell time and watch which links activate.
activated: 0 / 10 targets
Scroll the panel below. Each card that stays fully in view for at least the dwell threshold flips green — that's what mobile "eager" now does.
the call
<script type="speculationrules">
{
"prerender": [
{ "source": "document",
"where": { "href_matches": "/posts/*" },
"eagerness": "eager"
}
]
}
</script>
/* v143 (mobile): "eager" now also fires once a link has been in
the viewport for ~300 ms — no hover required (touch devices
don't have hover) */
why this angle
The other concept lets you swap eagerness levels. This zooms in on what specifically changed in v143 — the dwell trigger on mobile — and lets you tune the threshold to feel what's expensive vs free. It's a desktop simulation of a mobile behaviour because mobile-only demos are hard to show on a laptop.