Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Подключение файлов JavaScript


Рекомендуемые сообщения

Пишу онлайн приложение.

Проблема в том, что все яваскрипты данного приложения весят болеет 1МБ, притом за один сеанс работы может использоваться только 5-10 функций из нескольких сотен.

Появилась идея подгружать функции по мере их необходимости.

В интернете нашел лишь следующее:

document.write('<script src="file.js"></script>')

Но document.write работает только до загрузки страницы, а мне надо после загрузки, по событию.

Так не работает:

document.body.innerHTML += '<script src="file.js"></script>';

ЗЫ: гарантировано что пользователи будут заходить только через IE6 или выше

Ссылка на комментарий
Поделиться на другие сайты

А пробувал...

document.open();

document.write()

document.close();

А насчеть InnerHTML, лучше через DOM (createElement, appendChild()), но и так не уверен что будеть работать.

Ссылка на комментарий
Поделиться на другие сайты

Darhazer: document.open(); вобщето очищает документ. Если ток все перезаписывать, но это не есть хорошо.

Насчет DOM то innerHTML это тоже конструкции DOM и следовательно не работает.

Вобще-то у меня появилась идея, которая пока работает, но насколько она рабочая?

Данные в моем приложении подгружаются в скрытом фрейме, который после полной загрузки передает содержимое тега body функции в родительском фрейме. Если в новой функции обработать полученые данные функцией eval() то все исполняется, функции добавляются. Но всегда ли будет это работать, есть ли какие либо конструкции, которые через eval() не проходят?

Ссылка на комментарий
Поделиться на другие сайты

Я имел ввиду так

var script = document.createElement('script');script.type = 'text/javascript';script.src = 'script.js';document.getElementsByTagName('head')[0].appendChild(script);

Ето на много лучше чем innerHTML += ... Должно работать, только можеть бит появиться проблем с асинхронном подключение и визов функции перед загрузки JS. Надо script.onload() добавить наверника

Еще можно почитать здесь

http://ajaxpatterns.org/On-Demand_Javascript

Изменено пользователем Darhazer
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...