Сразу прошу прощения, если написал не в тот раздел.
Проблема такая:
К 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 я очень обрезал, он большой).
Заранее спасибо за помощь!