Testando se o jQueryUI foi carregado

129

Estou tentando depurar um site e acho que o jQueryUI pode não ter sido carregado corretamente. Como posso testar se o jQueryUI foi carregado?

waiwai933
fonte

Respostas:

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

OU

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

Deve fazer o truque

chrismacp
fonte
2
meu problema é que eu carrego jQuery e jQuery.ui dinamicamente. Às vezes carrega no tempo, às vezes não. Se a interface do usuário não estiver carregada, como posso esperar (ou forçar o carregamento) antes de chamar qualquer método?
Gabriel Diaconescu
17
não sei se isso faz muita diferença, mas vai com o teste de Boilerplate para jQuery, eles usam window.jQueryentão para jQuery UI Eu uso o testewindow.jQuery.ui
Tim B James
isso não funciona para mim. alguém pode dar uma olhada neste jsfiddle e deixe-me saber se estou fazendo algo errado. jsfiddle.net/vEvYv/1 Espero que o resto da minha instrução if seja executada porque não estou carregando o jQuery. exceto, falha na primeira linha. Executar a página com o seu aberta console do navegador (im usando FF) e ver a linhajQuery is not defined
Dave Haigh
2
@DaveHaigh - você não carregou o JQuery. A interface do usuário do JQuery depende do JQuery.
Chris Haines
16

Você precisa verificar se os dois, o arquivo jQuery UI Library e o CSS Theme estão sendo carregados.

A interface do usuário do jQuery cria propriedades no objeto jQuery, você pode verificar:

jQuery.ui
jQuery.ui.version

Para verificar se os arquivos CSS necessários foram carregados, recomendo que você use o Firebug e procure os arquivos de tema na guia CSS.

Já vi problemas antes, quando os usuários carregam corretamente a biblioteca da interface do usuário do jQuery, mas o tema CSS está ausente.

CMS
fonte
Para verificar se alguma funcionalidade específica está carregada, a verificação se pareceria (por exemplo, para dica de ferramenta) ........................ if( typeof jQuery().tooltip != "undefined" )
jave.web
7

Eu sei que essa é uma pergunta antiga, mas aqui está um pequeno script rápido que você pode usar para agrupar todas as coisas da UI do jQuery que não possuem um evento associado para garantir que sejam executadas somente após o carregamento da UI do jQuery:

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();
Mike
fonte
3

Apenas teste o objeto da interface do usuário, por exemplo

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

Você pode verificar se a interface do usuário do jQuery está carregada ou não de várias maneiras, como:

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

OU

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

OU

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
fonte