24 lines
781 B
JavaScript
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")
|
|
})() |