Estoy intentando encapsular un javascript que creé usando jQuery, jQuery UI, jQuery Form y xmlDom.Cargando dinámicamente jQuery y extensiones
Deseo poder enviar a mi cliente solo un javascript que haga referencia a los otros, incluyendo solo un pequeño fragmento de js para la configuración de opciones.
encontrar más adelante un ejemplo:
<script language="javascript">
var myOptions = {
shop: 1,
style: "gold"
}
load();
</script>
<script src="http://myServer/myScript.js" type="text/javascript"></script>
Ha sido casi imposible para mí para cargar plugins jQuery y dinámicamente. Leí muchos ejemplos, jQuery funciona bien cuando lo cargo dinámicamente, pero el resto de las extensiones nunca funcionó correctamente. Después de secuencia es el único que carga al menos un par de plugins:
Establecer una función de carga que carga jQuery dinámicamente:
load = function() {
load.getScript(url_base + "/js/jquery-1.3.2.js");
load.tryReady(0);
}
load.getScript = function(filename) {
var script = document.createElement('script')
script.setAttribute("type","text/javascript")
script.setAttribute("src", filename)
if (typeof script!="undefined")
document.getElementsByTagName("head")[0].appendChild(script)
}
load.tryReady = function(time_elapsed) {
// Continually polls to see if jQuery is loaded.
if (typeof $ == "undefined") { // if jQuery isn't loaded yet...
if (time_elapsed <= 5000) { // and we havn't given up trying...
setTimeout("load.tryReady(" + (time_elapsed + 200) + ")", 200); // set a timer to check again in 200 ms.
} else {
alert("Timed out while loading jQuery.")
}
} else {
...
}
carga todos los plugins después de eso, jQueryForm, jQuery UI, XMLDOM
Cuando compruebo para jQuery forma que esté disponible:
if (jQuery().ajaxForm)
Cuando compruebo para XMLDOM funciona.
Cuando reviso jQuery UI nunca está disponible.
if(jQuery().ui)
No importa si configuro un tiempo de espera para esperar la IU, nunca se carga. Parece que jQuery ejecuta las funciones de mi UI antes de que se cargue.
¿Alguien me puede enviar un enlace para ayudar con esto?
Cuando ve el html, ¿la etiqueta de script ui está en la cabeza? ¿Qué sucede cuando prueba 'if (jQuery.fn.ajaxForm)'? – czarchaic
Esa línea que mencionaste funciona, quiero decir, la expresión es verdadera. Necesito que todas las extensiones se carguen antes de mi script. Pude obtener una solución para IE, pero no funciona en Chrome y Firefox, que prueba esas condiciones durante un cierto período hasta que se convierte en realidad o regresa antes de tiempo. –