1 заметка с тегом

setTimeout РСС

8 октября 2008, 12:49

Dynamic load JavaScript («OnDemand»)

Для загрузки джаваскриптов динамически («по требованию»), можно использовать простую функцию:
function $import(src){
  var scriptElem = document.createElement('script');
  scriptElem.setAttribute('src',src);
  scriptElem.setAttribute('type','text/javascript');
  document.getElementsByTagName('head')[0].appendChild(scriptElem);
}
Если загружаемый Джаваскрипт часто изменяется, что бы избавиться от кеширования, можно использовать функцию ниже:
function $importNoCache(src){
  var ms = new Date().getTime().toString();
  var seed = "?" + ms; 
  $import(src + seed);
}
Пример использования:
$import("/js/somescript.js"); или $importNoCache("/js/somescript.js");

Для корректной работы с фреймворками, или обьёмными функциями их лучше подгружать по таймауту(после подгрузки самих фреймфорков/функций)
setTimeout("SomeFreamework.SomeFucntionMake('someparametr')", 100);
ondemand   import   setTimeout