Показать сообщение отдельно
  #1 (permalink)  
Старый 18.01.2015, 14:35
Интересующийся
Отправить личное сообщение для MishaUA Посмотреть профиль Найти все сообщения от MishaUA
 
Регистрация: 03.05.2014
Сообщений: 26

Динамичесикая подгрузка кода
Доброго времени суток!
JS должен иметь возможность при выполнении подгружать код и выполнять его.
Алгоритм примерно таков:
1. JS подгружает строку, в которой хранится объект.
2. Этот объект записывается в массив объектов.
3. В нужный момент с этих объектов вызываются нужные функции.
Конкретно сейчас сделал так:
1. Подгружается объект, в котором содержится е определенная переменная gObject и функция init();
2. Основной код вызывает функцию init подгруженного объекта, а функция создает div и записывает его в gObject.
3. Основной код добавляет gObject в нужный компонент DOM.

Вот код:
var ooo = "{gObject: undefined, init: function() {gObject = document.createElement('div');}}";

var	widget = eval("(" + ooo + ")");
widget.init();
mainObject.appendChild(widget.gObject);

Но в результате получаю ошибку "Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'." на последней строке.

Так же, что удивительно, даже если ooo будет объектом, а не строкой, изменить вторую строку на
var	widget = ooo;

то ошибка повторяется, как будто document.createElement('div'); не выполняется.
Не подскажите, в чем проблема?
Ответить с цитированием