Читая GWT Bootstrap на странице Googles, у меня есть вопрос. (http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/FAQ_WhenDoModulesLoad)
Предположения: большинство браузеров допускают максимум два одновременных подключения для получения ресурсов.
HTML-страница:
<html>
<body onload='alert("w00t!")'>
<img src='bigImageZero.jpg'></img>
<script source='externalScriptZero.js'></script>
<img src='bigImageOne.jpg'></img>
<img src='reallyBigImageTwo.jpg'></img>
<script src='com.example.app.App.nocache.js'></script>
<script src='externalScriptOne.js'></script>
</body>
</html>
Итак, бутстрап состоит из:
- Выбирается HTML-документ, и начинается его анализ.
- Начните загрузку bigImageZero.jpg.
- Начните загрузку externalScriptZero.js.
- bigImageZero.jpg завершается (допустим). Синтаксический анализ блокируется до тех пор, пока externalScriptZero.js не завершит выборку и оценку.
- externalScriptZero.js завершается.
- Начните получать файлы bigImageOne.jpg и действительноBigImageTwo.jpg одновременно.
- bigImageOne.jpg завершается (давайте снова предположим). com.example.app.App.nocache.js начинает выборку и оценку.
- ... nocache.js завершается, и скомпилированный скрипт (... cache.js) начинает выборку (это не блокирует).
- ... cache.js завершается. onModuleLoad () еще не вызывается, поскольку мы все еще ждем завершения externalScriptOne.js, прежде чем документ будет признан «готовым».
- externalScriptOne.js завершается. Документ готов, поэтому запускается onModuleLoad ().
- действительноBigImageTwo.jpg завершается.
body.onload () запускается, в этом случае отображается поле alert ().
Вопрос:
как JAVASCRIPT знает, что документ готов к запуску функции onModuleLoad (шаг 10)?