@Qwerty-B

Как осуществить выполнение внешнего JS, добавленного с помощью .innerHTML?

var banner='<script src="http://domen.zona/path/script.js"><\/script>';
document.getElementById("ad").innerHTML = banner;

Код в диве с ID="ad" появляется, но содержимое файла не выполняется (даже сам файл не загружается).

Дополнительные библиотеки типа JQuery не используются.

В переменной "banner" содержится код баннеров, он может быть разный (картинки в виде HTML, скрипты прямо в коде, внешние скрипты и комбинации всего этого), парсить и создавать элементы будет сложно. Проблема осталась только со внешними файлами. Внутренний JavaScript выполняется так:

var scripts = document.getElementById("ad").getElementsByTagName("script");
var script;
for (var i = 0; script = scripts[i]; i++)
{
   eval(script.innerHTML); 
}

Что можно придумать чтобы содержимое script.js выполнилось?
  • Вопрос задан
  • 2399 просмотров
Пригласить эксперта
Ответы на вопрос 1
Serhioromano
@Serhioromano
Web Developer
var script = document.createElement('script');
script.src='//domen.zona/path/script.js';
var el = document.getElementsByTagName("script")[0];
el.parentNode.insertBefore(script, el);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы