Avez-vous déjà entendu parler des promesses ? Elles fonctionnent sur tous les navigateurs modernes et sont relativement simples à utiliser. Jetez un coup d'œil à cette méthode simple pour injecter de la css dans l'en-tête html :
function loadStyle(src) {
return new Promise(function (resolve, reject) {
let link = document.createElement('link');
link.href = src;
link.rel = 'stylesheet';
link.onload = () => resolve(link);
link.onerror = () => reject(new Error(`Style load error for ${src}`));
document.head.append(link);
});
}
Vous pouvez le mettre en œuvre comme suit :
window.onload = function () {
loadStyle("https://fonts.googleapis.com/css2?family=Raleway&display=swap")
.then(() => loadStyle("css/style.css"))
.then(() => loadStyle("css/icomoon.css"))
.then(() => {
alert('All styles are loaded!');
}).catch(err => alert(err));
}
C'est vraiment cool, non ? C'est une façon de décider de la priorité des styles en utilisant des promesses.
Pour voir la mise en œuvre d'un chargement multi-styles, voir : https://stackoverflow.com/a/63936671/13720928
0 votes
Il y a aussi une question sur jQuery stackoverflow.com/questions/2685614/