2012-08-25 5 views
12

Ich evaluiere vorhandene Ressourcen für das Laden von Skripts optimiert, aber ich readed in einigen Artikeln wie this, bezieht sich auf die älteren Browser blockieren andere Downloads, bis diese sequentielle Skriptladephase abgeschlossen ist. Ich überprüfe Modernizr (yepnope.js), Headjs und ControlJs als Kandidaten. Aber ist es notwendig, diese Tools zum parallelen Laden von Skripten in modernen Browsern zu verwenden?Laden moderne Browser Skripte parallel oder sequenziell?

+0

sequentiell, wenn nicht alles Weitere zum Laden von JavaScript-Dateien tun ... –

+0

Hooking https://StackOverflow.com/q/1795438/6 32951 – Pacerier

Antwort

17

Ich glaube, heute standardmäßig die meisten Browser die Scripte parallel geladen werden; aber der Browser führt die Skripte nicht standardmäßig parallel aus. Im folgenden Code werden die Skripte beispielsweise parallel geladen. Im Bild können wir sehen, dass Fast1.js und Fast2.js extrem schnell geladen werden, aber basierend auf der Zeit in der Browser-Konsole wird Fast2.js 3 Sekunden ausgeführt, nachdem Fast1.js ausgeführt wurde.

Noch etwas zu beachten ist, dass die Reihenfolge der Dateien einen Unterschied machen kann. Die Backbone.js-Datei hängt von der Datei underscore.js ab. Wenn wir die Reihenfolge dieser Dateien geändert haben und wo sich "bacbone.js" vor "underscore.js" befindet, wird ein Fehler ausgegeben.

<html > 
<head> 
    <title></title> 
    <script src="scripts/fast1.js" type="text/javascript"></script> 
    <script src="scripts/libs/jquery-1.8.3.js" type="text/javascript"></script> 
    <script src="scripts/libs/underscore.js" type="text/javascript"></script> 
    <script src="scripts/libs/backbone.js" type="text/javascript"></script> 
    <script src="scripts/fast2.js" type="text/javascript"></script> 
</head> 
<body> 
    Hello 
    <script type="text/javascript"> 
     console.log("html: " + Date()); 
    </script> 
    <img src="imgs/bImg.png" /> 
</body> 
</html> 

Hier ist der Code für die JavaScript Fast1.js und Fast2.js

console.log("Fast 1: " + Date()) 

Script file loading in browser

Für Script Laden der Datei I Require.js verwenden. Es bietet auch den Vorteil, dass Sie Ihren Code in Modulen organisieren, die sich in einzelnen Dateien befinden.

Hier ist ein ein Blog-Eintrag ich auf Browser Script Laden erstellen: Browser Script Loading

Hier sind ein paar Artikel zum Laden von Script:

+0

Gibt es einen HTML-Standard, der es dem Browser verbietet, heruntergeladenen Code parallel auszuführen? – Pacerier