Столкнулся со следующей проблемой: при подгрузке html содержащего скрипты, эти скрипты не выполняются.
$.ajax(
{
dataType: "html",
url: "/loader/loader.php",
success: function(code)
{
$(code).appendTo(elem);
}
}
);
Со стороны сервера выдается что-то вроде этого:
<!-- Comment -->
<script src="script1.js"></script>
<!-- /Comment -->
т.е. html со скриптами, и заголовок естесвенно:
header('Content-Type: text/html; charset=UTF-8');
Но вот беда - подгружаемый скрипт не выполняется.
Его код:
document.write('<script type="text/javascript" src="http://domain.com/jscript2.js"></script>');
Через файербаг видно, что содержимое
elem-контейнера меняется - видны комменты, виден <script></script>, но в списке скриптов пусто - jscript1.js не попал в DOM.
Если использовать следующую конструкцию:
$(elem).html(code);
то после аякс-запроса, в DOM виден только коммент. Конструкция <script></script> отсутствует, но загруженный скрипт есть в списке файербага - script1.js, но вот второго - script2.js( script1.js его-то как раз и загружает) нет.
Т.е. что нужно: загружается страница, скрипт-загрузчик загружает script1.js, окруженный неким html, этот скрипт загружает script2.js. Вроде как
каскадная загрузка скриптов в окружении html - предыдущий скрипт грузит последующие, отягощенные мусором html-окружения.
Как реализовать еще можно такой вариант? Или что поправить в моем?