Prueba si jQueryUI se ha cargado

129

Estoy tratando de depurar un sitio web y creo que jQueryUI puede no haberse cargado correctamente. ¿Cómo puedo probar si jQueryUI se ha cargado?

waiwai933
fuente

Respuestas:

243
if (jQuery.ui) {
  // UI loaded
}

O

if (typeof jQuery.ui != 'undefined') {
  // UI loaded
}

Debería hacer el truco

chrismacp
fuente
2
mi problema es que cargo jQuery y jQuery.ui dinámicamente. A veces se carga a tiempo, a veces no. Si ui no está cargado, ¿cómo puedo esperar (o forzarlo a cargar) antes de llamar a cualquier método?
Gabriel Diaconescu
17
No estoy seguro de si esto hace una gran diferencia, pero siguiendo la prueba de Boilerplate para jquery, lo usan window.jQuerypara jQuery UI. Yo uso la pruebawindow.jQuery.ui
Tim B James
Esto no funciona para mí. alguien puede echar un vistazo a este jsfiddle y avisarme si estoy haciendo algo mal. jsfiddle.net/vEvYv/1 Espero que se ejecute la otra instrucción if porque no estoy cargando jQuery. excepto, falla en la primera línea. Ejecute la página con la consola de su navegador abierta (estoy usando FF) y vea la líneajQuery is not defined
Dave Haigh
2
@DaveHaigh: no has cargado JQuery. La interfaz de usuario de JQuery depende de JQuery.
Chris Haines
16

Debe comprobar si se están cargando tanto el archivo de la biblioteca de jQuery UI como el tema CSS .

La interfaz de usuario de jQuery crea propiedades en el objeto jQuery, puede verificar:

jQuery.ui
jQuery.ui.version

Para verificar si los archivos CSS necesarios están cargados, le recomendaría que use Firebug y busque los archivos de tema en la pestaña CSS.

He visto problemas antes, cuando los usuarios cargan correctamente la biblioteca jQuery UI pero falta el tema CSS.

CMS
fuente
Para verificar si se carga alguna funcionalidad particular, la verificación se vería (por ejemplo, para información sobre herramientas) ........................ if( typeof jQuery().tooltip != "undefined" )
jave.web
7

Sé que esta es una pregunta antigua, pero aquí hay un pequeño script rápido que puede usar para envolver todas sus cosas de jQuery UI que no tienen un evento asociado para asegurarse de que se ejecuten solo después de que se cargue jQuery UI:

function checkJqueryUI() {
    if (typeof jQuery.ui != 'undefined') {
        do_jqueryui();
    }
    else {
        window.setTimeout( checkJqueryUI, 50 );
    }
}
// Put all your jQuery UI stuff in this function
function do_jqueryui() {
    // Example:
    $( "#yourId" ).dialog();
}
checkJqueryUI();
Miguel
fuente
3

Simplemente pruebe el objeto ui, por ejemplo

<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script>
  $(function(){
    // did the UI load?
    console.log(jQuery.ui);
  });
</script>
bdl
fuente
1

Puede verificar si la interfaz de usuario jQuery está cargada o no de muchas maneras, como:

if (typeof jQuery.ui == 'undefined') {
   // jQuery UI IS NOT loaded, do stuff here.
}

O

if (typeof jQuery.ui != 'function') {
    // jQuery UI IS NOT loaded, do stuff here.
}

O

if (jQuery.ui) {
    // This will throw an error in STRICT MODE if jQuery UI is not loaded, so don't use if using strict mode
    alert("jquery UI is loaded");
} else {
    alert("Not loaded");
}


Tushar Shukla
fuente