2012-08-25 7 views
12

Oceniam istniejące zasoby do optymalizacji ładowania skryptów, ale przeczytałem w niektórych artykułach, takich jak this, odnoszą się do starszych przeglądarek zablokować inne pliki do pobrania, aż do zakończenia fazy ładowania skryptów sekwencyjnych. Sprawdzam Modernizr (yepnope.js), headjs i ControlJs jako kandydaci. Ale czy konieczne jest użycie tych narzędzi do ładowania skryptów równoległych w nowoczesnych przeglądarkach?Czy współczesne przeglądarki ładują skrypty równolegle lub sekwencyjnie?

+0

kolejno, jeśli nie robi cokolwiek ekstra do ładowania plików JavaScript ... –

+0

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

Odpowiedz

17

wierzę domyślnie większości przeglądarek dzisiaj rzeczywiście załadować skrypty równolegle; ale przeglądarka domyślnie nie wykonuje skryptów równolegle. Na przykład w poniższym kodzie skrypty będą ładowane równolegle. Na obrazku widać, że Fast1.js i Fast2.js ładują się bardzo szybko, ale na podstawie czasu w konsoli przeglądarki Fast2.js wykonuje się 3 sekundy po uruchomieniu Fast1.js.

Należy pamiętać, że kolejność plików może mieć znaczenie. Plik Backbone.js zależy od pliku underscore.js. Jeśli zmieniliśmy kolejność tych plików, gdzie bacbone.js znajduje się przed plikiem underscore.js, zostanie zgłoszony błąd.

<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> 

Oto kod dla pliku JavaScript Fast1.js i Fast2.js

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

Script file loading in browser

dla skryptu załadunku używam Require.js. Zapewnia to także korzyść z organizowania kodu w moduły znajdujące się w poszczególnych plikach.

Oto postu blog tworzę na Browser Script ładowania: Browser Script Loading

Oto kilka artykułów na Script ładowania:

+0

Czy istnieje standard HTML, który zabrania przeglądarce równoczesnego wykonywania pobranego kodu? – Pacerier

Powiązane problemy