Лингвофорум

Общий раздел => Наука и техника => Компьютеры => Тема начата: Тайльнемер от декабря 27, 2013, 11:23

Название: Вопросы по ӂаваскрипту́
Отправлено: Тайльнемер от декабря 27, 2013, 11:23
Я полный ламер в сабже, а тут на форуме некоторые разбираются.
Буду тут задавать глупые вопросы.

Начну с начала, с загрузки скрипта. Сейчас у меня так:
У пользователей «ЛФ-фич» локально располагается юзер-скрипт следующего содержания:

// ==UserScript==
// @name       LfFeatures
// @namespace  lingvoforum
// @version    1.0.4
// @include    http://lingvoforum.net*
// ==/UserScript==

if(document.domain == "lingvoforum.net") // по идее, всегда true, но на всякий случай...
{
  var head = document.getElementsByTagName("head")[0];
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "http://teilnehmer.somee.com/LfFeatures/Content/LfFeaturesUserScript.js";
  head.appendChild(script);
}


При загрузке страницы ЛФ он срабатывает (момент времени №1), и начинает грузиться  LfFeaturesUserScript.js  с  teilnehmer.somee.com, который состоит из jQuery и собственно скрипта.
LfFeaturesUserScript.js  начинает исполняться (момент времени №2), и там идёт $(function() { ... });
Как я понимаю, тело этого function'а исполняется по событию DOMContentLoaded (момент времени №3).
Момент №3 наступает на сотни миллисекунд позднее момента №2.

Насколько это корректно вообще?
Например, может ли случиться так, что в момент №1 head'а ещё нет в DOM'е, и скрипт вылетит?

В моменты времени 1 и 2 (т. е. до DOMContentLoaded) что уже гарантированно есть в DOM'е, а чего, возможно, нет? Какие действия можно выполнять в моменты 1 и 2?
Название: Вопросы по ӂаваскрипту́
Отправлено: Тайльнемер от декабря 27, 2013, 13:19
Благодаря І. G., тема теперь в двух темах:
НГ/Вопросы по ӂаваскрипту́ (http://lingvoforum.net/index.php/topic,64510.msg1947773.html)