Javascript - Funktion ruft neues <Script auf geht das?
bearbeitet von JürgenBHallo,
zum dynamischen Nachladen von Javascripten benutze ich folgende Funktion:
~~~Javascript
LoadScript = function(url,callback) {
var scr = document.createElement('script');
scr.type = "text/javascript";
scr.async = "async";
if(typeof(callback)=="function") {
scr.onloadDone = false;
scr.onload = function() {
if ( !scr.onloadDone ) {
scr.onloadDone = true;
callback();
}
};
scr.onreadystatechange = function() {
if ( ( "loaded" === scr.readyState || "complete" === scr.readyState ) && !scr.onloadDone ) {
scr.onloadDone = true;
callback();
}
}
}
scr.onerror = function() {
JB.Debug_Info(url,"Konnte nicht geladen werden.",false);
}
scr.src = url;
document.getElementsByTagName('head')[0].appendChild(scr);
} // LoadScript
~~~
url ist Adresse des Scriptes, callback die Funktion, die nach dem Laden aufgerufen wird. Beachte, dass das Nachladen asyncron erfolgt. Schau es dir mal an und frag, wenn du etwas nicht verstehst.
Gruß
Jürgen
Javascript - Funktion ruft neues <Script auf geht das?
bearbeitet von JürgenBHallo,
zum dynamischen Nachladen von Javascripten benutze ich folgende Funktion:
~~~Javascript
LoadScript = function(url,callback) {
var scr = document.createElement('script');
scr.type = "text/javascript";
scr.async = "async";
if(typeof(callback)=="function") {
scr.onloadDone = false;
scr.onload = function() {
if ( !scr.onloadDone ) {
scr.onloadDone = true;
JB.Debug_Info(url,"loaded",false);
callback();
}
};
scr.onreadystatechange = function() {
if ( ( "loaded" === scr.readyState || "complete" === scr.readyState ) && !scr.onloadDone ) {
scr.onloadDone = true;
JB.Debug_Info(url,"ready",false);
callback();
}
}
}
scr.onerror = function() {
JB.Debug_Info(url,"Konnte nicht geladen werden.",false);
}
scr.src = url;
document.getElementsByTagName('head')[0].appendChild(scr);
} // LoadScript
~~~
url ist Adresse des Scriptes, callback die Funktion, die nach dem Laden aufgerufen wird. Beachte, dass das Nachladen asyncron erfolgt. Schau es dir mal an und frag, wenn du etwas nicht verstehst.
Gruß
Jürgen