Middle
Ποια είναι η διαφορά μεταξύ των ετικετών <script>, <script async> και <script defer>;
sobes.tech AI
Απάντηση από AI
Κανονικό <script>: ο περιηγητής σταματά το parsing του HTML, φορτώνει και εκτελεί το script, και στη συνέχεια συνεχίζει το parsing. Μπλοκάρει την εμφάνιση.
<script async>: το script φορτώνεται ασύγχρονα, το parsing του HTML συνεχίζεται. Το script εκτελείται αμέσως μετά τη φόρτωση, και μπορεί να διακόψει το parsing του HTML. Η σειρά εκτέλεσης των scripts δεν είναι εγγυημένη.
<script defer>: το script φορτώνεται ασύγχρονα, το parsing του HTML συνεχίζεται. Η εκτέλεση του script καθυστερεί μέχρι να ολοκληρωθεί το parsing και η κατασκευή του DOM. Τα scripts εκτελούνται με τη σειρά που εμφανίζονται στο HTML.
| Ιδιότητα | Ανάλυση HTML | Φόρτωση script | Εκτέλεση script | Εξάρτηση από τη σειρά |
|---|---|---|---|---|
| Απουσιάζει | Διακόπτεται | Μπλοκαριστικό | Μπλοκαριστικό | Εγγυημένο |
async |
Συνεχίζεται | Μη μπλοκαριστικό | Μπορεί να διακόψει το parsing | Μη εγγυημένο |
defer |
Συνεχίζεται | Μη μπλοκαριστικό | Μετά το parsing του HTML | Εγγυημένο |