Показать сообщение отдельно
  #1 (permalink)  
Старый 08.11.2009, 18:07
Интересующийся
Отправить личное сообщение для Dimanoid Посмотреть профиль Найти все сообщения от Dimanoid
 
Регистрация: 06.05.2009
Сообщений: 18

Динамическое подключение скриптов
Сразу прошу прощения, если написал не в тот раздел.

Проблема такая:
К HTML-странице подключается внешний скрипт. В процессе работы он подключает к странице еще один скрипт и добавляет его в конец/начало (пробовал оба варианта) тэга HEAD. После этого мне надо чтобы первый скрипт вызывал функцию из нового. Но,насколько я понял логику, новый скрипт прочитается только после выполнения текущего. Нельзя ли заставить браузер прочитать новый скрипт сразу после подключения? Хочется видеть новый скрипт именно в отдельном js-файле.

Вот мой код:
HTML-файл:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>
	<title>Привет!</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<script type="text/javascript" src="/sys/kernel"></script>
</head>

<body>
</body>
</html>
Вот скрипт kernel:
function addScript(src)
{
     var newScript = document.createElement("script");
     newScript.type = "text/javascript";
     newScript.src =  src;
     var first = document.getElementsByTagName("head")[0].firstChild;
     document.getElementsByTagName("head")[0].insertBefore(newScript, first);
// Сначала пробовал document.getElementsByTagName("head")[0].appendChild(newScript);
}
addScript("/sys/modules/hello/main.js");
main(); //Это вызов функции из main.js

Скрипт main.js:
function main()
{
alert("Работает");
}


Можно конечно в конце файла main.js дописать main(); но не хочется так делать, потому что мне надо, чтобы main.js выполнился не сразу после подключения, а через несколько строк кода (код kernel я очень обрезал, он большой).

Заранее спасибо за помощь!
Ответить с цитированием