Ich entwickelte jqueryui Plugin. Ich habe ein Skript, das prüft, ob bestimmte Bibliotheken nicht hinzugefügt werden, dann füge es hinzu. Ich verwende setTimeOut, um Bibliotheken in einer Sequenz hinzuzufügen. Hier ist mein Code:warten, bis die Bedingung erfüllt ist Javascript
if(typeof jQuery === 'undefined'){ //check if jQuery Exists
console.log("jQuery not loaded");
var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute("src",
"http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js");
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
console.log("jQuery loaded");
}
setTimeout(function(){
if (typeof jQuery.ui === "undefined"){
console.log("jQueryUI not loaded");
var script_tag2 = document.createElement('script');
script_tag2.setAttribute("type","text/javascript");
script_tag2.setAttribute("src",
"http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js");
(document.getElementsByTagName("head")[0]).appendChild(script_tag2);
}
}, 500);
Aber das Problem ist, dass, weil es viele Bibliotheken gibt es zu viel Zeit in Anspruch nimmt. Und wenn ich Zeit reduziere, bekomme ich Fehler, dass vorherige Bibliothek nicht hinzugefügt wird. Anstatt eine Nummer zu übergeben, um die Timeout-Funktion zu setzen. Ich möchte eine Funktion übergeben, die überprüft, ob vorherige Bibliothek geladen ist, und dann diese Bibliothek hinzufügen. Ich hoffe, dass Sie über meine Abfrage verstehen werden.
Dank
Anhören 'onLoad' Falle script-Element ... – Rayon
Sieht aus wie Sie http://requirejs.org/ sind neu zu erfinden. – leaf