In questa breve guida vi svelero’ un piccolo trucco per far “convivere” diversi script Jquery nella stessa pagina o usare contemporamente le librerie Prototype. Molte volte infatti, data la chiamata ricorrente di funzioni e variabili col $, gli script Jquery vanno letteralmente in conflitto rendendo il sito instabile o addirittura non funzionando correttamente.
Ricordiamo intanto che, per chi non lo sapesse la funzione $() presente in quasi tutti gli script e’ solo un ALIAS. Per far funzionare tutti gli script bastera’ quindi usare la pratica e comoda modalita’ “no conflict()” che permette di sostituire il dollaro con la parola “jQuery”. In questo modo viene differenziata la variabile (o la funzione) dalle precedenti usate nella pagina web.
<script> jQuery.noConflict(); // Usa jQuery con jQuery(...) jQuery(document).ready(function(){ jQuery("#foto").show("slow"); }); // Codice di una libreria con $(...) // ... </script>
In questo modo e’ possibile, come vedete chiaramente dall’esempio sovrastante, usare due codici jQuery che altrimenti andrebbero in conflitto. La soluzione e’ utile anche (e sopratutto) se state usando contemporaneamente anche le librerie Prototype (anch’esse usano le variabili $ ).
Esistono anche ulteriori metodi, ma ho pensato di illustrarvi quello piu’ semplice da attuare. Per altri metodi vi rimando alla pagina ufficiale.
NOTA PERSONALE: Ho trovato molto utile questa soluzione sopratutto usando Joomla e Virtualmart. Il template da me costruito aveva delle animazioni con jQuery che non facevano reagire il carrello quando si cliccava su “aggiungi”.
ULTIMA REVISIONE: 09/Marzo/2011
Grazie molto utile.
Ottimo! Davvero utilissimo e sopratutto indispensabile!
FINALMENTE HO RISOLTO STO CAVOLO DI PROBLEMA !!!!!! Grazie !!!!! 😉
Ottimo ! cos’era alla fine ? =)
Mi è stato molto utile grazie Riccardo!
sto avendo dei problemi con dei conflitti jquery qualcono è disponibile a darmi una mano? grazie
Ciao
ho da poco dovuto cambiare il template al nostro sito (joomla 1.5) e ne ho trovato uno free molto interessante; purtroppo lo slideshow in home page funziona con tutti i browser tranne I. Explorer.
Conosco il php ma il jquery no.
Posso contattarti in pv?
Grazie
Grazie a chiunque potrà risolvermi questo problema
Se non funziona solo su IE (magari in versione 8 o inferiori) non si tratta di conflitto bensì probabilmente lo slider usa tecniche avanzate (CSS3 et simila) o comunque non compatibili con versioni obsolete di IE (si la versione8 di IE è obsoleta).
Ti consiglio di chiedere prima al creatore dello slider per ulteriori info riguardo il funzionamento su IE.