Vous est-il déjà arrivé de vouloir signaler au navigateur une police, un script ou
toute autre ressource dont la page a besoin, sans retarder le processus
onload
événement ? <link rel="preload">
permet aux développeurs Web de faire tout simplement
à l'aide d'une syntaxe d'élément HTML familière avec quelques attributs clés
déterminer le comportement exact. Il s'agit d'un
standard (brouillon) concernant la livraison dans le cadre du
Version de Chrome 50.
Les ressources chargées via <link rel="preload">
sont stockées localement dans le navigateur.
et sont effectivement inertes jusqu'à ce qu'ils soient référencés dans le DOM, JavaScript ou
CSS Par exemple, voici un cas d'utilisation potentiel dans lequel un fichier de script est
préchargée, mais pas exécutée immédiatement, comme si elle avait été
incluses via une balise <script>
dans le DOM.
<link rel="preload" href="used-later.js" as="script">
<!-- ...other HTML... -->
<script>
// Later on, after some condition has been met, we run the preloaded
// JavaScript by inserting a <script> tag into the DOM.
var usedLaterScript = document.createElement('script');
usedLaterScript.src = 'used-later.js';
document.body.appendChild(usedLaterScript)
</script>
Que se passe-t-il ici ? L'attribut href
utilisé dans cet exemple doit
être familier aux développeurs Web, car il s'agit de l'attribut standard utilisé pour spécifier
l'URL de toute ressource associée.
L'attribut as
est
Cette méthode est probablement nouvelle pour vous et est utilisée dans le contexte d'un élément <link>
.
pour fournir au navigateur plus de contexte
destination de
de la requête de préchargement. Ces informations supplémentaires permettent de s'assurer
le navigateur définit les en-têtes de requête appropriés, la priorité des requêtes
les Content Security Policy concernées,
qui pourraient être en place pour
le bon contexte de ressource.
En savoir (beaucoup) plus
Yoav Weiss a écrit
le guide définitif
à l'utilisation de <link rel="preload">
. Si vous êtes intrigué et souhaitez commencer à l'utiliser
sur vos propres pages, je vous recommande de lire son article pour en savoir plus sur
les avantages et les cas d'utilisation créatifs.
Au revoir <link rel="subresource">
<link rel="preload">
remplace <link rel="subresource">
, qui a
bogues et inconvénients importants
qui n'a jamais été implémentée
dans d'autres navigateurs que Chrome. À ce titre, Chrome 50
supprime la compatibilité avec
<link rel="subresource">