Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Динамичесикая подгрузка кода (https://javascript.ru/forum/misc/53032-dinamichesikaya-podgruzka-koda.html)

MishaUA 18.01.2015 14:35

Динамичесикая подгрузка кода
 
Доброго времени суток!
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'); не выполняется.
Не подскажите, в чем проблема?

danik.js 18.01.2015 14:49

То что ты хочешь уже реализовано в requirejs. Бери и пользуйся.


Часовой пояс GMT +3, время: 08:04.