Quelqu'un sait-il comment vérifier si jquery a été chargé (avec javascript) puis le charger s'il ne l'a pas été.
quelque chose comme
if(!jQuery) {
//load jquery file
}
Quelqu'un sait-il comment vérifier si jquery a été chargé (avec javascript) puis le charger s'il ne l'a pas été.
quelque chose comme
if(!jQuery) {
//load jquery file
}
Vous pouvez vérifier si jQuery est chargé ou non de plusieurs façons, par exemple :
if (typeof jQuery == 'undefined') {
// jQuery IS NOT loaded, do stuff here.
}
if (typeof jQuery == 'function')
//or
if (typeof $== 'function')
if (jQuery) {
// This will throw an error in STRICT MODE if jQuery is not loaded, so don't use if using strict mode
alert("jquery is loaded");
} else {
alert("Not loaded");
}
if( 'jQuery' in window ) {
// Do Stuff
}
Après avoir vérifié que jQuery n'est pas chargé, vous pouvez charger jQuery comme suit :
Bien que la réponse à cette question ait été donnée par de nombreuses personnes dans ce billet, il n'en reste pas moins que de répondre pour que le code soit complet.
// This part should be inside your IF condition when you do not find jQuery loaded
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "http://code.jquery.com/jquery-3.3.1.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
Vieux post mais j'ai fait une bonne solution qui a été testée à plusieurs endroits.
https://github.com/CreativForm/Load-jQuery-if-it-is-not-already-loaded
CODE :
(function(url, position, callback){
// default values
url = url || 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js';
position = position || 0;
// Check is jQuery exists
if (!window.jQuery) {
// Initialize <head>
var head = document.getElementsByTagName('head')[0];
// Create <script> element
var script = document.createElement("script");
// Append URL
script.src = url;
// Append type
script.type = 'text/javascript';
// Append script to <head>
head.appendChild(script);
// Move script on proper position
head.insertBefore(script,head.childNodes[position]);
script.onload = function(){
if(typeof callback == 'function') {
callback(jQuery);
}
};
} else {
if(typeof callback == 'function') {
callback(jQuery);
}
}
}('https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js', 5, function($){
console.log($);
}));
Sur GitHub il y a une meilleure explication mais en général cette fonction peut être ajoutée n'importe où dans votre code HTML et vous initialiserez jquery s'il n'est pas déjà chargé.
var f = ()=>{
if (!window.jQuery) {
var e = document.createElement('script');
e.src = "https://code.jquery.com/jquery-3.2.1.min.js";
e.onload = function () {
jQuery.noConflict();
console.log('jQuery ' + jQuery.fn.jquery + ' injected.');
};
document.head.appendChild(e);
} else {
console.log('jQuery ' + jQuery.fn.jquery + '');
}
};
f();
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Merci pour l'info ! j'espère qu'il n'y aura jamais besoin de l'appeler. j'essayais juste d'ajouter un peu de redondance.