$ .Ready срабатывает до или после загрузки всех встроенных <script>? - PullRequest
7 голосов
/ 01 июня 2011

По сути, это вопрос javascript, но я связываю событие с jQuery.

Вот пример случая:

<html>
  <head>
    <script src="waiting_on_ready.js" />
  </head>
  <body>
    <script src="http://somewhere.com/not_cached.js"></script>
  </body>
</html>

Делает ли обратный вызов $ .ready в wait_on_ready.js должен ждать загрузки not_cached.js?Ожидается ли выполнение not_cached.js?

Ответы [ 4 ]

10 голосов
/ 01 июня 2011

Да и да.

Синхронное выполнение <script> элементов , за исключением при использовании атрибута "async" HTML5 . Синхронное выполнение JavaScript требуется (если не указано иное), поскольку JavaScript может изменять поток документов с помощью document.write и т. Д. (Однако фактическая выборка ресурсов может выполняться параллельно.)

Удачного кодирования.

7 голосов
/ 01 июня 2011

Ready срабатывает, когда все элементы DOM готовы к манипулированию.

Когда браузер обнаруживает элемент сценария, анализ DOM останавливается до тех пор, пока сценарий не будет выполнен, поэтому из-за того, как все это работает, он запускается после загрузки всех сценариев.

1 голос
/ 01 июня 2011

$(document).ready() не будет запускаться до загрузки или выполнения not_cached.js (при условии, что выполнение в not_chached.js является синхронным)

0 голосов
/ 01 июня 2011

скрипт $.ready выполняется после полной загрузки страницы, as the onload event does, однако, если найден встроенный скрипт, он выполняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...