Maison  >  Article  >  interface Web  >  En savoir plus sur la balise script en HTML

En savoir plus sur la balise script en HTML

青灯夜游
青灯夜游avant
2020-07-06 10:24:274666parcourir

En savoir plus sur la balise script en HTML

Les étudiants qui ont appris un peu sur l'écriture de pages Web savent tous que le code js de la page Web doit être écrit dans la balise script, mais pourquoi faites-vous cela ? Cet article présentera la balise script.

balise de script

Initialement, Netscape voulait afficher les fichiers HTML en utilisant js dans le navigateur, mais ne voulait pas affecter l'effet d'affichage de ce fichier dans d'autres navigateurs, il a donc créé une balise de script

Nous savons tous que les balises peuvent ajouter des attributs à l'intérieur. La balise script a les attributs suivants :

  • async signifie télécharger le script immédiatement et ne doit pas gêner d'autres opérations dans l'interface
  • src indique le fichier externe pour exécuter ce script, facultatif
  • charset Le jeu de caractères du fichier externe spécifié par src
  • defer Le script est retardé jusqu'à ce que l'analyse et l'affichage du document soient terminé, facultatif
  • la langue est obsolète.
  • le type est important. Il est utilisé pour remplacer l'attribut langue. La valeur par défaut est text/javascript, ce paramètre n'a donc généralement pas besoin d'être spécifié. .
<script type="text/javascript">
    // 属性设置
    function SayHi(){
        alert("Hi");
    }
</script>
rrree

Remarque :

  • Jusqu'à ce que l'interpréteur évalue le code dans la balise de script, le reste du contenu de la page ne sera pas chargé ou affiché par le navigateur
  • S'il y a du code js dans la balise avec src, il sera ignoré, donc après avoir écrit src, vous ne devriez pas y écrire de code
  • Essayez d'utiliser des fichiers externes pour écrire js, essayez d'utiliser des js moins intégrés, ce qui facilite la maintenance et le js est au même endroit. Si deux pages utilisent le même js, il peut être mis en cache

emplacement de la balise de script

.

À l'origine, la balise doit être placée dans l'en-tête, mais comme elle est placée dans l'en-tête, la page ne sera pas rendue lorsque js sera chargé (la page ne commencera pas à s'afficher tant qu'elle ne sera pas chargée dans le corps), provoquant le la page apparaît depuis longtemps. Bai, alors maintenant nous la mettons à la fin du corps

<!-- 注意下面的写法    /> 这么写本身没有问题,但是不能在html中使用这种语法,因为这样会打乱html的解析 -->
<script type="text/javascript" src="2.js"/>
// 必须写成下面的样子
<script type="text/javascript" src="2.js"></script>

Après avoir ajouté l'attribut defer au script, le mettre dans l'en-tête peut théoriquement atteindre l'objectif d'exécution retardée. , mais comme différents navigateurs prennent en charge différemment le report (l'ordre d'exécution est incertain et le js intégré ne prend pas en charge le report, etc.), il est préférable pour nous de suivre la méthode d'écriture ci-dessus de et de l'écrire à la bout du corps .

L'attribut async sert également à résoudre le problème du chargement asynchrone des scripts. Il ne prend pas non plus en charge les scripts js intégrés. La différence originale entre lui et defer est que les chargements sont différés dans l'ordre, async ne se charge pas dans l'ordre. , mais en utilisation réelle, les navigateurs ont également une prise en charge différente pour cet attribut. Aucun des deux attributs ne peut garantir l'exécution séquentielle des scripts et leur exécution avant DOMContentLoaded, il est donc préférable de ne pas utiliser cet attribut tant que le navigateur ne le prend pas entièrement en charge.

balise

Lorsque le navigateur désactive js ou que le navigateur ne prend pas du tout en charge js (bien sûr, c'est rare maintenant), il doit être dégradé en douceur, donc la balise noscript

est nécessaire La fonction est d'afficher le contenu en noscript lorsque la situation mentionnée ci-dessus se produit. Voir l'exemple ci-dessous

<body>
...

<script src="1.js"></script>
<script src="2.js"></script>
<script src="3.js"></script>
</body>

Notez que si le navigateur a activé JS, le contenu de cette balise ne sera pas. affiché.

Tutoriels recommandés : Tutoriel HTML, Tutoriel vidéo JavaScript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:A quoi sert onclick en HTMLArticle suivant:A quoi sert onclick en HTML