16.02.2013, 23:27
|
Кандидат Javascript-наук
|
|
Регистрация: 08.03.2011
Сообщений: 148
|
|
Событие ready и теги script
Вопрос в следующем: DOM считается готовым после того, как отработают все скрипты внутри тегов script или же событие ready может быть сгенерированно до того, как отработаю скрипты из тегов script? Расскажите, пожалуйста, и дайте ссылку, если возможно, почитать на эту тему. Спасибо.
|
|
16.02.2013, 23:35
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Создание DOM приостанавливается на каждом script, в том числе и внешнем. Но это только в случае если у script нет атрибута defer или async.
|
|
16.02.2013, 23:38
|
Кандидат Javascript-наук
|
|
Регистрация: 08.03.2011
Сообщений: 148
|
|
Сообщение от danik.js
|
Создание DOM приостанавливается на каждом script, в том числе и внешнем. Но это только в случае если у script нет атрибута defer или async.
|
Значит ли это, что событие ready не будет сгенерировано пока не отработают все скрипты из тегов script?
|
|
16.02.2013, 23:41
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Да. Кроме defer|async
|
|
17.02.2013, 00:14
|
Кандидат Javascript-наук
|
|
Регистрация: 08.03.2011
Сообщений: 148
|
|
Сообщение от danik.js
|
Да. Кроме defer|async
|
А подскажите ещё, пожалуйста, скрипты отрабатывают в той последовательности, в которой они идут в доукменте, т.е. скрипты которые находятся выше в документе(ближе к началу документа, то есть к строке doctype) отрабатывают раньше, чем те, что за ними? Или же это происходит в произвольном порядке?
|
|
17.02.2013, 00:22
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Если скрипт стоит после тега </body>
Он отработает позже события $(document).ready
Последний раз редактировалось Deff, 17.02.2013 в 11:47.
|
|
17.02.2013, 10:41
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Deff, с чего ты взял? Кстати, скрипты должны быть либо в head либо в body, других вариантов нет (если в html5 их не узаконили)
|
|
17.02.2013, 10:59
|
без статуса
|
|
Регистрация: 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.
|
|
17.02.2013, 11:21
|
|
Профессор
|
|
Регистрация: 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.
|
|
17.02.2013, 11:39
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
danik.js,
Да = уже заметил, - я вставлял на реальную страницу. http://designforum.bestff.ru/
Походу для произвольного случая - соврал
_____________
Уточнил про рекламу, пост #8
Последний раз редактировалось Deff, 17.02.2013 в 12:00.
|
|
|
|