Как подгрузить код JS динамически?
Приветствую Вас Уважаемые форумчане!
Многие из Вас неоднократно помогали мне, надеюсь, что и сейчас вы не пройдете мимо))) Я столкнулся со следующей проблемой: Сайт который я пишу работает полностью динамически (без полной перезагрузки страницы), так вот, все запрошенное содержимое вставляется в страницу через свойство innerHTML, проблема в том, что это свойство не предназначено для того, чтобы через него вставлять JS код. Я нашел выход, а именно: Тот JS код, который подключается через внешний файл (к примеру file.js), я вырезаю из полученных данных и подключаю через createElement, остальное же содержимое добавляю через innerHTML. Казалось бы проблема решена, но есть одно НО... Подгружаемые данные содержат не только внешние файлы JS, но и отдельный код JS, который вышеописанным способом не подключить. Какие могут быть решения? Может быть, вырезать весь код из тега <script></scrip> и добавить через eval? |
Цитата:
Цитата:
А вот это: Цитата:
|
melky,
Нет, это не одностраничка. Я использую хистори API для того, чтобы у пользователя создавалось впечатление будто бы он перемещается физически, ко всему этому, если отключен JS то все равно все ссылки работают (сделано это для поисковиков). Сайт имеет много разделов, личную переписку, чат, форму и т.д. Вообще, 100% динамику я реализовал для того, чтобы можно было слушать музыку, перемещаться по сайту и слушать музыку. Да и вообще удобно. Я не использую ни фрейворки, ни библиотеки в проекте, сайт полностью самописный! Если Вы считаете, что мой способ подключать JS код - костыль, тогда что не костыль? По какому принципу эти фрейворки работают в этом плане? |
Цитата:
|
melky,
У меня код тоже не грузится через innerHTML! Перед тем как вставить данные в innerHTML я вырезаю оттуда теги <script> а из них вырезаю полный путь до js файла и затем вставляю через createElement. Я не хочу сразу подключать все файлы через в заголовке <head> т.к. какие то файлы отвечают за галерею, какие то за плеер, а пользователь зайдя на сайта может ни разу ни галереею не открыть, ни плеер, а зачем тогда лишний код JS Загружать? Так и на сервер меньше нагрузка и на клиентский ПК и трафик меньше. Проблема описанная в теле темы ещё актуальна))) |
Цитата:
http://www.manhunter.ru/webmaster/28...tran icu.html |
ksa,
То-есть, это нормально когда в созданный через createElement тег script вписываются код JS строкой? Это чем-то похоже на eval. Вообще такое приемлемо или это костыль? |
|
Цитата:
Т.ч. как не назови, это можно сделать только такими способами... :) |
Poznakomlus,
Разве задавать атрибуты в тег "<script>", типа "data-*" и прочих, разрешено? Какая-то часть кода пригодилась, спасибо! |
Часовой пояс GMT +3, время: 01:21. |