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.
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 :
<script type="text/javascript"> // 属性设置 function SayHi(){ alert("Hi"); } </script>
Remarque :
À 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.
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!