Différence entre les balises 'script` et' link as= 'script'
en plus de la méthode standard de chargement des scripts:
<script src="js/script.js"></script>
j'ai vu des gens faire cela:
<link href="js/script.js" as="script">
y a-t-il une différence?
Note: Il y a un " Quelle est la différence entre utiliser un lien et une étiquette de script pour faire référence à une source JavaScript? question à propos de <link href="~/Scripts/jquery-1.4.1.js" type="text/javascript" />
, qui est différente.
1 réponses
si cette étiquette link
avait rel="preload"
(ou rel="modulepreload"
) sur l'it, elle indiquerait une requête de préchargement, qui préchargerait, mais ne lancerait pas, le script. Alors que bien sûr, script
charge et exécute le script. Mais sans rel
, ce link
n'est pas valable et n'a aucun effet utile (du moins en termes de spécification).
si vous cherchez link
dans la spécification, vous verrez as
listé comme:
as
- destination potentielle pour une demande de préchargement (pourrel="preload"
etrel="modulepreload"
)
suivant le lien vers as
attribut, il est écrit:
l'attribut
as
spécifie la destination potentielle d'une demande de préchargement pour la ressource donnée par l'attributhref
. C'est un attribut énuméré. Chacun la destination potentielle est un mot-clé pour cet attribut, qui correspond à un État du même nom. L'attribut doit être spécifié sur les élémentslink
qui ont un attributrel
qui contient le mot-clépreload
. Il peut être spécifié sur les élémentslink
qui ont un attributrel
qui contient le mot-clémodulepreload
; dans ces cas, il doit avoir une valeur qui est une destination de type script. Pour les autres élémentslink
, il ne doit pas être spécifié.