2012-03-29 7 views
1

ich ot sein Projekt arbeite:Joomla Module Konflikt

www.eltotaldesign.com/planeteco

Ich habe die Module Image Slider DJ und eine andere namens altra Switcher. Ich habe versucht, Easy Jquery und andere Methoden zu installieren, aber nichts hilft. Es ist 100% Problem mit jQuery und Mootols Konflikt, aber ich kann es nicht lösen. Gibt es irgendwelche Skripte, um das zu lösen?

Danke!

Antwort

2

Um diese Kompatibilitätsprobleme zu lösen, können Sie versuchen:

  • immer Mootools vor JQuery
  • Immer Last laden und JQuery noConflict
  • Stellen Sie sicher, dass diese Bibliotheken laden nur einmal pro Seite
  • Don verwenden Laden Sie keine von ihnen, wenn Sie es nicht verwenden werden
  • Seien Sie vorsichtig mit Joomla-Cache und beim Kombinieren von js-Dateien
  • Verwendung sorgfältig jede Erweiterung, die Sie eine gewisse Kontrolle über js Bibliotheken gibt:

http://extensions.joomla.org/extensions/site-management/site-performance

http://www.joomlabamboo.com/joomla-extensions/jb-library-plugin-a-free-joomla-jquery-plugin

1

Benötigen Sie mootools am vorderen Ende Ihrer Joomla-Installation?

Wenn nicht, entfernen Sie es! Es wird Ihre Besucher aus, die laden zwei Libs speichern Sie Ihre Site anzuzeigen:

http://magazine.joomla.org/issues/Issue-Feb-2011/item/349-removing-mootools

Wenn Sie beide benötigen sicherstellen, dass alle mootools ist die bevorzugte document.id statt $ sowie die Einstellung jquery in noConflict mit Modus.

Hoffe, das hilft! Posten Sie die Ergebnisse zurück.

1

Wenn Sie für erweiterte Funktionalität verwenden müssen, um mehr als eine JavaScript-Bibliothek. Zwei der beliebtesten Bibliotheken sind Mootools und Jquery. Sie widersprechen sich, weil mootools ein Prototyp ist und jquery nicht. Aber es gibt eine einfache Technik, um das zu beheben. Sie können sie beide ohne einen Konflikt verwenden.

Sie müssen nur 2 Vorsichtsmaßnahmen treffen.

  1. Fügen Sie jquery im Konfliktmodus hinzu. Es stellt sicher, dass mehr als eine jquery-Bibliothek gleichzeitig verwendet werden kann.

    jQuery.noConflict(); 
    
  2. Fügen Sie alle Ihre jQuery-Code wie unten

    (function($){   
        //jquery code goes here.   
    })(jQuery); 
    

den vollständigen Code anzeigen.

//no conflict jquery 
    jQuery.noConflict(); 
    (function($) { 
     //jquery code goes here. 
    })(jQuery);