Magento montrant jQuery conflit les uns avec les autres
Je suis assez novice sur Magento. J'ai utilisé bannière rotaor script pour afficher la bannière. Comme je l'ai eu pour afficher la bannière de chaque page c'est pourquoi j'ai mis en œuvre le curseur dans header.phtml
fichier afin que je puisse montrer la bannière à chaque page. Donc dans l'en-tête.phtml mon curseur code est quelque chose comme cela
<script language="javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
bannerRotator('#bannerRotator', 500, 5000, true);
});
</script>
<div id="bannerRotator">
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('homepageslider')->toHtml(); ?>
</div>
ici le curseur fonctionne bien, mais quand j'ai regardé la console tab
dans firefox, j'ai eu quelques erreurs.Voici l'image pour l'onglet de la console d'erreur.
Pour résoudre tous les problèmes que j'ai googlé et est venu de savoir que jQuery est en conflit. Donc à claire que j'ai utilisé jQuery.noConflict
et également retiré de $
en jQuery
. Mais encore, je suis même problème. Toute l'aide et les suggestions seront vraiment appréciable. Grâce
Site en ligne peut être trouvé ici
OriginalL'auteur NewUser | 2013-02-05
Vous devez vous connecter pour publier un commentaire.
Inclure jquery.noConflict dans app/design/frontend/default/[thème]/template/page/html/tête.phtml fichier.
Vous souhaitez ajouter ce droit après vous d'inclure jquery, et juste avant la getCssJsHtml()
Je suis allé une étape plus loin dans ma mise en œuvre et l'a appelé à un $j var, mais vous pouvez le faire ou tout simplement implémenter jquery.noConflict();
Si vous utilisez un var $j, alors l'ensemble de vos jQuery appels avec cet objet.
Je l'ai fait:
dans votre en-tête.phtml vous aurez besoin d'appeler votre curseur comme ceci:
Vous avez également besoin de prendre soin de la question ci-dessous, vous y compris jQuery deux fois 🙂
OriginalL'auteur Roy Hayward
Vous avez deux questions.
1)
Vous y compris jQuery deux fois. Vous avez jquery.js (1.7.1), et aussi jquery-1.4.4.min.js inclus plus bas.
C'est la cause du problèmes sont à voir.
De recherche le projet de la chaîne 'jquery-1.4.4.min.js" et vous trouverez probablement un exntry à l'intérieur d'un fichier de configuration XML, essayez de commenter cette sortie..
Peut-être de deux modules sont à la fois l'ajout de jquery via Magento de configuration XML.
Supprimer l'une de ces entrées à l'intérieur des modules XML des fichiers de configuration et les problèmes devraient disparaître. Je recommande la suppression jquery-1.4.4.min.js comme cela est inclus après la plupart des autres plugins jquery qui va provoquer encore plus de questions.
2)
jQuery.noConflict() est appelée après que jquery a été utilisé. Comme suggéré ci-dessus, la meilleure façon de se arounf c'est d'ouvrir votre jquery.js fichier, et ajouter à la fin du fichier:
;jQuery.noConflict();
OriginalL'auteur Andrew
Vous devez ajouter
jQuery.noConflict();
à la fin de votre jquery.js fichier de script et non à l'extérieur comme il doit être appelé avant prototype.js script est inclus.Ouvert jquery.js fichier. Aller à la fin de la dernière ligne et la pâte de jQuery.noConflict ();.
Oui j'ai fait ce que vous avez dit, mais j'obtiens le même problème.. 🙁
OriginalL'auteur Domen Vrankar
Vous pouvez utiliser ce Module Magento: https://github.com/sotastudio/Mage.Ext.Jquery
Juste réorganise l'inclusion de JavaScript, des trucs et des ensembles de jQuery directement à la première position. En Outre, vous pouvez facilement le feu jQuery choses dans cet extrait:
OriginalL'auteur Andy
La meilleure façon de contourner les conflits dans mon expérience, est comme suit:
on devrait être compatible avec tous vos plugins.
jquery-1.7.1-custom.js
jQuery.noConflict();
à la fin du fichier.jQuery préfixe pour tout.
OriginalL'auteur Francis Kim
Vous principal problème, c'est que vous êtes, y compris jquery avant de prototype (afficher la source de la page)
Vous avez besoin de le changer pour
Fixe cette ouverture
ou (si jquery ne trouve pas dans ci-dessus)
Votre page.xml devrait ressembler à
Créer un fichier d'appel jquery.noconflict.js et d'ajouter
Dans votre personnalisé jquery code, vous NE pouvez pas utiliser
$...
plus (utilisation par prototypeJs uniquement) vous devez utiliser$j...
oujQuery...
Puis supprimer
OriginalL'auteur Renon Stewart