2025-09-18
2025-09-18
Speculation rules API
Labas, skaitytojau.
Nežinau ar tau patinka programinis kodas ir ar programavimas tau apskritai prie širdies, bet… Kadangi programuoti vis dar verta, o reikiamus atsakymus ne taip jau paprasta surasti…
Štai keletas programinio kodo eilučių išnaudoti moderniai Speculation Rules API.
Šios skirtos krovos spartos didinimui (prieš panaudojant atkreipti dėmesį, kad API palaiko ne visos naršyklės: https://developer.mozilla.org/en-US/docs/Web/API/Speculation_Rules_API, kopijuoti -> įklijuoti skiltyje).
<!-- Modern: Speculation Rules API -->
<script type="speculationrules">
{
"prerender": [
{
"source": "document",
"where": {
"and": [
{ "selector_matches": "a[href^='/'" }
]
},
"eagerness": "moderate"
}
],
"prefetch": [
{
"source": "document",
"where": {
"and": [
{ "selector_matches": "a[href^='/'" },
{ "not": { "href_matches": "\\.(pdf|zip|jpg|png|gif|mp4)$" } }
]
},
"eagerness": "moderate"
}
]
}
</script>
<script>
// Check if Speculation Rules API is supported
if (!HTMLScriptElement.supports?.("speculationrules")) {
console.log("Speculation Rules API not supported, using fallback prefetch...");
// Grab all internal links and create prefetch tags
document.addEventListener("DOMContentLoaded", () => {
document.querySelectorAll("a[href^='/']").forEach(link => {
if (!/\.(pdf|zip|jpg|png|gif|mp4)$/i.test(link.href)) {
const prefetch = document.createElement("link");
prefetch.rel = "prefetch";
prefetch.href = link.getAttribute("href");
document.head.appendChild(prefetch);
}
});
});
}
</script>
| # | Žymos |
|---|---|
| #post #artefaktas_eu #personal #opinion #speculation #rules #api |
Asmeninė nuomonė.
Linktree link: https://linktr.ee/artefaktas
Tinklaraštį galima prenumeruoti net keletu skirtingų būdų:
- Naudojant RSS sklaidos kanalo nuorodą: https://artefaktas.eu/rss.xml
- Naudojantis follow.it forma
Artefaktas.eu is licensed under CC BY-NC-ND 4.0