Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2013, 23:27
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

Событие ready и теги script
Вопрос в следующем: DOM считается готовым после того, как отработают все скрипты внутри тегов script или же событие ready может быть сгенерированно до того, как отработаю скрипты из тегов script? Расскажите, пожалуйста, и дайте ссылку, если возможно, почитать на эту тему. Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2013, 23:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Создание DOM приостанавливается на каждом script, в том числе и внешнем. Но это только в случае если у script нет атрибута defer или async.
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2013, 23:38
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

Сообщение от danik.js Посмотреть сообщение
Создание DOM приостанавливается на каждом script, в том числе и внешнем. Но это только в случае если у script нет атрибута defer или async.
Значит ли это, что событие ready не будет сгенерировано пока не отработают все скрипты из тегов script?
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2013, 23:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Да. Кроме defer|async
Ответить с цитированием
  #5 (permalink)  
Старый 17.02.2013, 00:14
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

Сообщение от danik.js Посмотреть сообщение
Да. Кроме defer|async
А подскажите ещё, пожалуйста, скрипты отрабатывают в той последовательности, в которой они идут в доукменте, т.е. скрипты которые находятся выше в документе(ближе к началу документа, то есть к строке doctype) отрабатывают раньше, чем те, что за ними? Или же это происходит в произвольном порядке?
Ответить с цитированием
  #6 (permalink)  
Старый 17.02.2013, 00:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Если скрипт стоит после тега </body>
Он отработает позже события $(document).ready

Последний раз редактировалось Deff, 17.02.2013 в 11:47.
Ответить с цитированием
  #7 (permalink)  
Старый 17.02.2013, 10:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Deff, с чего ты взял? Кстати, скрипты должны быть либо в head либо в body, других вариантов нет (если в html5 их не узаконили)
Ответить с цитированием
  #8 (permalink)  
Старый 17.02.2013, 10:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от danik.js
Кстати, скрипты должны быть либо в head либо в body, других вариантов нет

danik.js,
Посмотри рекламу от yandex http://hostjs-mybb2011.narod.ru/Rus_Lat.htm
Внизу после </html>
Это yandex сам её вставляет.

Последний раз редактировалось Deff, 17.02.2013 в 11:59.
Ответить с цитированием
  #9 (permalink)  
Старый 17.02.2013, 11:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Реклама? Еще чего )

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <script>$(document).ready(function(){ alert('ready')});</script>
        <script>alert('script in head');</script>
    </head>
    <body>
        <script>alert('script in body');</script>
    </body>
    <script>alert('script after body');</script>
</html>
<script>alert('script after html');</script>

Последний раз редактировалось danik.js, 17.02.2013 в 11:51.
Ответить с цитированием
  #10 (permalink)  
Старый 17.02.2013, 11:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

danik.js,
Да = уже заметил, - я вставлял на реальную страницу. http://designforum.bestff.ru/

Походу для произвольного случая - соврал
_____________
Уточнил про рекламу, пост #8

Последний раз редактировалось Deff, 17.02.2013 в 12:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие windows.onload revvo Общие вопросы Javascript 3 07.08.2013 08:14
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20
Почему в FF не исполняется клонированный тэг script? NT Man Firefox/Mozilla 0 15.11.2009 16:00
какое событие возникает во время формирования html IT-AleX Events/DOM/Window 2 20.02.2009 16:13