Я пытаюсь динамически включать файлы js (и css) в веб-страницу следующим образом:
index.html -> loader_a.js -> a_foo.js, a_bar.js, a_foo.css и т. д.
Хотя это работает без проблем в FF (используя appendChild), я не могу заставить его работать в IE6.
Я пробовал различные доступные решения (добавление в dom-узел, вызов ajax и eval и т. Д. Из (http://ntt.cc/2008/02/10/4-ways-to-dynamically-load-external-javascriptwith-source.html) здесь и там и других, таких как post # 2013676), но он не делает то, что предполагалось делать.
Когда я проверяю с помощью DebugBar, я вижу, что мои включаемые файлы (например, a_foo.js) действительно загружены, но их содержимое пусто - в других включаемых файлах (1 уровень / напрямую) это содержимое показывается, поэтому я предполагаю, что есть проблема ...
«Ошибка», которую я получаю, - это всегда неопределенный объект, который является o / c b / c функцией, которую я вызываю, загружен неправильно, поэтому это не большая помощь. Я не получаю никаких ошибок на включениях.
Я проверил javascript-коды, чтобы они были в порядке.
У кого-нибудь есть окончательное решение для этого?
Я могу воссоздать свои тесты и опубликовать некоторый код, если это поможет.
Спасибо,
С уважением,
Томас
Пример HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML lang=en><HEAD><TITLE>Test</TITLE>
<script type="text/javascript" src="mmtest_files/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="mmtest_files/multiload.js"></script>
<script type="text/javascript" >
function init2() {
// using the data from the loaded js files
var a= mmf("a");
document.getElementById('status').innerHTML = "Variable set:" + a;
}
// magic...
include(['mmt.js'],init2);
</script>
<BODY >
<H2>Test me!</H2>
<SPAN id=status>status old</SPAN>
</BODY></HTML>
JS 1 - мультизагрузка из ответа 1
JS2 - это тест, включающий:
функция ммФ (парам)
{
вернуть "Вызванный с" + param;
}