J'essaie actuellement de développer une application JavaScript qui peut être intégrée dans une page Web existante (que je ne peux pas modifier). L'application a besoin d'une version spécifique de jQuery.Éviter les conflits jQuery dans une application JavaScript chargée dynamiquement
Le script utilisé pour charger l'application fait ce qui suit:
// loading JavaScript needed by my application
(function() {
document.write('<script src="../jquery-1.10.2.min.js"></script>');
document.write(...); // load other scripts (using jQuery 1.10.2)
// storing the application's jQuery in a new namespace
// to avoid conflicts with other jQuery versions
document.write('<script type="text/javascript">' +
'appJQ = jQuery.noConflict(true);</script>'); // error: jQuery is undefined in IE<10
})();
// initializing the application itself
document.onload = function() {
// ...
};
Cela fonctionne très bien dans tous les navigateurs, je l'ai testé, sauf IE < 10. Dans IE 9 et le bas, je reçois l'erreur jQuery n'est pas défini. Le déplacement de jQuery vers un nouvel espace de noms dans la fonction document.onload
fonctionnerait pour mon application mais provoquerait des conflits avec d'autres scripts sur la page Web qui comprend mon application s'ils ont besoin d'une version différente de jQuery.
Avez-vous des suggestions pour résoudre ce problème? Merci pour votre aide!
Merci beaucoup! L'utilisation de RequireJS a résolu mon problème. –