Alguém sabe verificar se o jquery foi carregado (com javascript) e depois carregue-o se ainda não foi carregado.
algo como
if(!jQuery) {
//load jquery file
}
javascript
jquery
dezessete
fonte
fonte
Respostas:
Talvez algo assim:
fonte
head
elemento de script ao qual pode anexar( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( script );
Evite usar "if (! JQuery)", pois o IE retornará o erro: jQuery é 'indefinido'
Em vez disso, use: if (typeof jQuery == 'undefined')
Você também precisará verificar se o JQuery foi carregado após anexá-lo ao cabeçalho. Caso contrário, você terá que esperar pelo evento window.onload, que é mais lento se a página tiver imagens. Aqui está um script de amostra que verifica se o arquivo JQuery foi carregado, já que você não terá a conveniência de poder usar $ (document) .ready (function ...
http://neighborhood.org/core/sample/jquery/append-to-head.htm
fonte
script.onload = function() { alert('jQuery loaded!'); }
? Isso funcionaria?Método 1:
Método 2:
Se o arquivo jquery.js não estiver carregado, podemos forçar o carregamento assim:
fonte
Experimente isto:
Isso verifica se o jQuery está disponível ou não, caso contrário, ele adicionará um dinamicamente do caminho especificado.
Ref: Simule um "include_once" para jQuery
OU
equivalente include_once para js. Ref: https://raw.github.com/kvz/phpjs/master/functions/language/include_once.js
fonte
Mesmo que você tenha um cabeçalho anexando, ele pode não funcionar em todos os navegadores. Esse foi o único método que descobri funcionar de maneira consistente.
fonte
document.write
ALTAMENTE desaprovado?Você pode verificar se o jQuery está carregado ou não de várias maneiras, como:
Agora, depois de verificar se o jQuery não está carregado, você pode carregar o jQuery assim:
fonte
Post antigo mas fiz uma boa solução o que é testado em locais servais.
https://github.com/CreativForm/Load-jQuery-if-it-is-not-already-loaded
CÓDIGO:
No GitHub há uma explicação melhor, mas geralmente essa função você pode adicionar em qualquer lugar no seu código HTML e inicializar o jquery se ainda não estiver carregado.
fonte
fonte
fonte
Estou usando o CDN para meu projeto e, como parte do tratamento de fallback, estava usando o código abaixo,
Apenas para verificar, removi a referência CDN e executei o código. Ele está quebrado e nunca entrou em se o loop como tipo de jQuery está vindo como função em vez de indefinido.
Isso ocorre por causa da versão mais antiga em cache do jquery 1.6.1 que retorna a função e quebra meu código porque estou usando o jquery 1.9.1. Como preciso da versão exata do jquery, modifiquei o código conforme abaixo,
fonte