Доброго времени, дорогие читатели!
Хотелось бы поделиться небольшим кусочком кода, который позволяет подгружать файлы JavaScript динамически.
Я конечно все понимаю, что существуют JQuery и много еще велосипедов, уже умеющий ездить, но тем не менее полезно было бы знать, что такие простые функции можно писать и самому.
Вот сама функция:
function loadJS(data){
if(!data) return false;
var head = document.getElementsByTagName("head")[0];
for(file in data){
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", file);
script.onload = script.onreadystatechange = function( ){
if(!this.readyState || this.readyState == "loaded" || this.readyState == "complete"){
if(typeof data[file] == "function") data[file]( );
this.onload = this.readystatechange = null;
}
}
head.appendChild(script);
}
}
А вот как эта функция работает:
loadJS({
"js/space.js" : null,
"js/go.js" : function( ){console.log("go to Habr");}
});
Автор: tratotui