Sobes.tech
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 Εγγυημένο