Die Speculation Rules API ist eine Browser-Schnittstelle, mit der eine Website dem Browser mitteilt, welche Seiten wahrscheinlich als Nächstes aufgerufen werden. Der Browser lädt sie vorab (Prefetch) oder rendert sie unsichtbar vor (Prerender), damit die Navigation sofort wirkt.
Wie funktioniert die Speculation Rules API?
Die Regeln stehen als JSON in einem <script type="speculationrules">-Element oder in einer Datei, auf die der HTTP-Header Speculation-Rules verweist. Sie löst das in Chrome veraltete <link rel="prerender"> ab und ergänzt <link rel="prefetch">.
- Prefetch lädt nur den Response-Body, ohne Unterressourcen.
- Prerender lädt und rendert die ganze Seite samt JavaScript in einem unsichtbaren Tab. Das kostet deutlich mehr Ressourcen.
- Eagerness steuert, wann der Browser startet:
immediate,eager,moderateoderconservative. - Document Rules (
where) beschreiben URL-Muster statt fester Listen.
Beispiel
<script type="speculationrules">
{
"prerender": [{
"where": {
"and": [
{ "href_matches": "/*" },
{ "not": { "href_matches": "/logout" } }
]
},
"eagerness": "moderate"
}]
}
</script>
Häufige Fehler
Vorgerenderte Seiten führen ihr JavaScript schon vor dem Aufruf aus. Analytics, Werbeeinblendungen oder Zustandsänderungen wie Login und Warenkorb laufen dann zu früh. MDN rät, mit document.prerendering und dem Event prerenderingchange zu arbeiten. Auch URLs wie Logout oder „In den Warenkorb“ gehören nicht in die Regeln.
Quellen
- Prerender pages in Chrome for instant page navigations – Chrome for Developersdeveloper.chrome.com
- Speculation Rules API – MDN Web Docsdeveloper.mozilla.org
Stand: