Chargez jquery dynamiquement avant d'utiliser jquery

Mon script utilisera en tant que widget dans un site Web tiers, donc je ne connais pas jquery chargé et quelle version de jquery est chargée ou non à l'extrémité tierce.

Alors, avant de charger le script ci-dessous, je veux vérifier s'il est déjà jquery 1.11.1 chargé après dom prêt, sinon, je veux charger le jquery plus tard et exécuter le script ci-dessous.

Script.js

var $ = jQuery.noConflict( true ); (function( $ ) { $(document).ready(function() { alert("Document Ready "); }); })($jy); 

EDITER 1

 var addNewJQuery = function() { (function( $ ) { $jy = $; var invokeOriginalScript; $(document).ready(function() { ......my code here..... }): })(jQuery); } 

Je ne sais pas si cela fonctionne pour vous, mais il semble qu'il fonctionne.

Peut-être que vous devez supprimer l'autre script de votre en-tête après avoir chargé le deuxième fichier jQuery. Mais il semble fonctionner avec les deux scripts chargés.

J'ai ajouté une vérification si jQuery est chargé, sinon il va charger jQuery.

Vous pouvez également trouver le même code dans ce violon .

 var addNewJQuery = function() { //var jQ = jQuery.noConflict(true); (function ($) { $(document).ready(function () { alert("You are now running jQuery version: " + $.fn.jquery); }); })(jQuery); }; if ( typeof jQuery === 'undefined' ) { alert('no jQuery loaded'); //throw new Error("Something went badly wrong!"); // now you could load jQuery loadScript('https://code.jquery.com/jquery-1.11.2.js', addNewJQuery); } if ($.fn.jquery !== '1.11.2') { console.log('detected other jQuery version: ', $.fn.jquery); loadScript('https://code.jquery.com/jquery-1.11.2.js', addNewJQuery); } function loadScript(url, callback) { // Adding the script tag to the head as suggested before var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; // Then bind the event to the callback function. // There are several events for cross browser compatibility. script.onreadystatechange = callback; script.onload = callback; // Fire the loading head.appendChild(script); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>