infokiosque/_src/js/layout.js

24 lines
781 B
JavaScript

/* LAYOUT
Ce script importe la decoration et la navigation du site et l'ajoute en tant que "Shadow root"
sur le <body> de la page
Pour ajouter ce script sur une page ajoutez les balises suivantes dans <head>
<link rel="prefetch" href="/src/js/layout.html" />
<script defer src="/src/js/layout.js"></script>
*/
(async () => {
let res = await fetch("/_src/js/layout.html")
if(!res.headers.get("Content-Type").startsWith("text/html")) {
console.error(`Layout content type is ${res.headers.get("Content-Type")} not text/html`)
return
}
let layoutContent = await res.text()
document.body.attachShadow({mode: "open"})
document.body.shadowRoot.innerHTML = layoutContent
document.body.classList.add("with-layout")
})()