Показать сообщение отдельно
  #1 (permalink)  
Старый 13.11.2012, 15:46
Новичок на форуме
Отправить личное сообщение для sidorka Посмотреть профиль Найти все сообщения от sidorka
 
Регистрация: 13.11.2012
Сообщений: 9

jQuery - подгрузка html со скриптами
Столкнулся со следующей проблемой: при подгрузке 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-окружения.

Как реализовать еще можно такой вариант? Или что поправить в моем?

Последний раз редактировалось sidorka, 13.11.2012 в 16:37.
Ответить с цитированием