JavaScript скрипты


Динамическая подгрузка скриптов

Размещена 11 августа, 2008 года


В данном примере рассматривается возможность динамически подгружать скрипты JavaScript, находящиеся в отдельных файлах на сервере. Так же описано альтернативное использование - подгрузка документа с избеганием кеширования

Вот небольшой скрипт, который позволяет динамически подгружать JavaScript код на страницу:
function $import(src){
    var scriptElem = document.createElement('script');
    scriptElem.setAttribute('src',src);
    scriptElem.setAttribute('type','text/javascript');
    document.getElementsByTagName('head')[0].appendChild(scriptElem);
}
Для подключения файла необходимо просто вызвать эту функцию и передать ей URL скрипта (желательно относительный, то есть начинающийся со слеша, без указания домена)

Избегаем кеширования .js файлов

Для того чтобы обновленный файл всегда загружался заново (а не брался из кеша) можно использовать эту нехитрую функцию:
// подключаем вместе со случайным GET-параметром, чтобы избежать кеширования
function $importNoCache(src){
    var ms = new Date().getTime().toString();
    var seed = "?" + ms; 
    $import(src + seed);
}
Они динамически подгрузит файл со случайным параметром (в данном случае случайный параметр - текущее время.) Теперь чтобы подгрузить файл, надо просто вызвать эту функцию и передать ей путь к скрипту, как было описано выше.

Однако стоит обратить внимание на то, что отключение кэша таким вот образом повлечет за собой увеличение трафика и времени загрузки страницы (особенно если скрипт большой или интернет не шибко быстрый). Поэтому этим методом лучше не пользоваться если скрипт не меняется. Этот метод обычно применяется во время разработки или в случае когда подгружаемый скрипт меняется на сервере автоматически каким-нибудь скриптом, например запускаемым по крону.

Автор: Козыч Антон
SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Стишки пирожки про Олега⁠⁠

Размещена 20 июня 2024 года

Олег купил презервативы
Проник в семидесятый год
И подарил их папе с мамой
Такой нелепый суицид

читать далее…

Размещена 10 августа 2020 года

Я по ТВ видел, что через 10 лет мы будем жить лучше, чем в Германии...
Я не понял, что это они с Германией сделать хотят?!

читать далее…

ТехЗадание на Землю

Размещена 14 марта 2018 года

Пpоект Genesis (из коpпоpативной пеpеписки)

читать далее…

Шпаргалка по работе с Vim

Размещена 05 декабря 2017 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

читать далее…

Ошибка: Error: Cannot find a valid baseurl for repo

Размещена 13 сентабря 2017 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

читать далее…