pourquoi certains javascripts entrent-ils en conflit avec d'autres? Je veux dire que j'avais utilisé le code javascript pour la galerie d'images, puis j'ai essayé d'obtenir le filigrane de texte dans jquery. Pourquoi est-ce qu'après avoir utilisé la jquery, la galerie a totalement disparu? il n'y avait pas d'identifiants communs que j'ai utilisés dans les deux scripts. Une raison pour cela?conflit javascript
Répondre
Comme Mathias a bien souligné, le problème le plus probable est que votre autre bibliothèque utilise également le symbole $
- lorsque vous avez ajouté jQuery à la page, il écrasait l'ancienne variable $
avec son propre $
... et votre première bibliothèque javascript a cessé de fonctionner. La solution consiste à appeler jQuery.noConflict() pour restaurer la variable dans la première bibliothèque. Vous serez toujours en mesure d'utiliser les plugins jQuery - vous aurez juste besoin de mettre à jour des exemples de scripts qui utilisent $
pour utiliser jQuery
à la place. Ainsi $("#my_content").css({color: "red"});
deviendrait jQuery("#my_content").css({color: "red"});
Alternativement, vous pouvez affecter l'objet jQuery à un autre objet variable de cette manière:
$jq=jQuery.noConflict(); //From now on jQuery can be called with the $jq function
ou vous pouvez l'utiliser dans une fermeture:
(function($) {
// $ in here will map to jQuery
//outside of this code $ will map to your other library's $
})(jQuery.noConflict());
Essayez celui-ci: http://api.jquery.com/jQuery.noConflict/
qui a vraiment rien à voir avec ce qu'il a demandé. – nickf
bien sûr. Si évidemment jquery est le problème ici, jquery remplace probablement les fonctions ou les variables, telles que $ ou quelque chose d'autre, ce qui est assez courant. –
excuses .. mais aucune idée de quoi il s'agit là ??? être trop confus .... – Sachindra
Parfois, les gens peuvent utiliser des variables globales dans leur javascript emballé. Si vous avez deux paquets qui utilisent la même variable globale, il va évidemment y avoir des problèmes. Pour le résoudre, vous pouvez essayer de créer une fermeture autour du code de chaque paquet différent. Sans voir le code, je ne suis pas 100% que cela fonctionnerait, mais voici un exemple:
// gallery.js
var textTitle = "Image gallery";
function getGalleryTitle() { return textTitle; }
//////////////
// watermark.js
var textTitle = "Watermark";
alert(getGalleryTitle()); // "Watermark" :(
Maintenant, avec les fermetures, créé en utilisant des fonctions anonymes:
(function() {
var textTitle = "Image gallery";
function getGalleryTitle() {
return textTitle; // this will always be "Image gallery"
}
})();
(function() {
var textTitle = "Watermark"; // won't conflict with any other code.
})();
L'inconvénient est que vous ne pouvez plus accéder globalement à ces variables et fonctions (par exemple, via des gestionnaires d'événements inline).
- 1. Résoudre un conflit JavaScript
- 2. javascript conflit sur accesing DOM
- 3. Conflit de deux fichiers javascript
- 4. javascript menu déroulant et conflit flash
- 5. Javascript Conflit de la fonction WIndows PopUp
- 6. Javascript Conflit avec 2 scripts - Besoin d'aide!
- 7. Javascript Fonction et forme conflit de noms
- 8. javascript valeur de la propriété objet conflit
- 9. conflit jQuery
- 10. conflit JqueryTools
- 11. jQuery conflit
- 12. Conflit jQuery et Prototype
- 13. Conflit Autopostback et doPostBack
- 14. quelqu'un peut me aider comment traiter ce 2 javascript conflit
- 15. Plusieurs frameworks javascript dans un conflit de pages Web
- 16. Safari Javascript est en conflit avec l'article JSON mot-clé
- 17. jquery et jqueryUI en conflit
- 18. deux javascripts en conflit
- 19. CSS et Javascripts en conflit
- 20. Comportement de conflit de subversion inattendu (Conflit sans conflits)
- 21. JsTree est en conflit avec jquery.validate
- 22. jQuery Comment résoudre un conflit Jquery
- 23. En conflit startDrags
- 24. Tapisserie + conflit JaxB
- 25. Git en conflit commet
- 26. Dll en conflit
- 27. Conflit Zend Routes
- 28. conflit de règle htaccess?
- 29. Files d'attente en conflit
- 30. PHP preg_match_all RegEx conflit
merci de le rendre simple ... – Sachindra