Sehen Sie sich diesen Code an:
<body> <script src="deffer.js"></script> content </body>
deffer.js ist:
alert(1)
Auf diese Weise bleibt die Seite leer, bis das Warnfenster geschlossen wird. Weil das Warnfenster verhindert, dass die Seite weiter gerendert wird.
Um solche Probleme zu vermeiden, werden die Attribute deffer und async in der HTML-Spezifikation definiert. Die spezifischen Definitionen dieser beiden Attribute werden hier jedoch nicht besprochen, sie werden jedoch verwendet, um dem Browser mitzuteilen, dass diese Seite ausgeführt werden muss nach Abschluss des Seitenrenderings Der Inhalt des Skripts, sodass die Seite gerendert wurde, wenn das Skript ausgeführt wird.
<body> <script deffer async src="deffer.js"></script> content </body>
Beachten Sie, dass bei mehreren Skripten mit hinzugefügtem Deffer oder Async die Ausführungsreihenfolge nichts mit der Reihenfolge zu tun hat, in der sie auf der Seite angezeigt werden. Auch wenn in der HTML-Spezifikation festgelegt ist, dass Deffer-Skripte der Reihe nach ausgeführt werden sollen, halten sich Browser tatsächlich nicht an diese Konvention.