JavaScript: события загрузки DOM, последовательность выполнения и $ (document) .ready ()
Я только что понял, что мне не хватает фундаментальных знаний о том, что именно происходит, когда страница загружается в браузер.
Предположим, у меня есть такая структура:
...
// some more JS here...
...
Вот вопросы, которые у меня есть:
В какой последовательности происходят вещи? Сначала выполняется DOM, затем JS, наоборот, или одновременно (или как только файлы JS заканчивают загрузку, безотносительно к DOM)? Я знаю, что скрипты загружаются по порядку.
Где же$(document).ready()
вписаться? В Firebug 'я вижу чистую вкладкуDOMContentLoaded
событие иload
событие. Является$(document).ready()
срабатывает, когдаDOMContentLoaded
события пожары? не мог»не могу найти никакой конкретной информации по этому поводу (все просто упоминают "когда DOM загружен).
Что именно делаеткогда DOM загружен имею в виду? Что весь HTML / JS был загружен и проанализирован браузером? Или только HTML?
Возможен ли следующий сценарий:$(document).ready()
который вызывает код вlast.js
, но запускается до загрузки last.js? Где это, скорее всего, будет (вfirst.js
или блок встроенного кода)?Как я могу предотвратить этот сценарий?
Я хочу понять общую картину того, что происходит, когда и что зависит от того, что (если вообще).