2016-07-10 7 views
1

Im folgenden Code wird bar.js nur ausgeführt, nachdem foo.js geladen und ausgeführt wurde?Werden <script> Tags blockiert und nacheinander ausgeführt?

<!DOCTYPE html> 
<html> 
<body> 
    <script src='foo.js'></script> 
    <script src='bar.js'></script> 
</body> 
</html> 

Angenommen, ich nicht async oder deferred nicht verwenden, ich denke schon. this Q besteht jedoch darauf, dass Skripts, die src programmgesteuert nicht blockieren - gilt das nicht für wörtlich eingefügt <script> Tags?

Antwort

2

Nach dieser Seite (https://www.safaribooksonline.com/library/view/even-faster-web/9780596803773/ch04.html) werden externe .js-Dateien, die mit src geladen werden, in der Tat sequentiell ausgeführt, und dies ist das beabsichtigte Verhalten. Ältere Browser laden die externen Dateien sequenziell herunter und führen sie sequenziell aus, während neuere Browser sie parallel (gleichzeitig) herunterladen, sie aber dennoch sequenziell ausführen. Laut den Antworten auf dieser Seite (Implications of multiple <script> tags in HTML) werden Inline-Tags auch sequenziell ausgeführt. Die erste verlinkte Website zeigt mehrere Möglichkeiten, mehrere externe Skripts gleichzeitig auszuführen, wenn dies das gewünschte Verhalten ist.

2

Nein, es trifft nicht zu.

'Skript' Tags im HTML-Code immer blockieren.

Referenz: Hochleistungs-Javascript, 1. -> Skriptpositionierung

Verwandte Themen