Einen schönen guten Nachmittag wünsche ich,
irgendwie stehe ich auf dem Schlauch mit meinem Problem.
Ich habe eine Seite (Diese: http://p190060.mittwaldserver.info/index.php?id=33 ) in der ich zwei bzw drei Extensions verwende.
1. SlideDownBoxMenu
2. Flexslider
3. NewsCalendar
Extension 1 und 2 funktionieren auch zusammen, nur wenn ich den NewsCalendar hinzufüge funktionieren das SlideDownBoxMenu und der Flexslider nicht mehr.
Von dem jQuery.noConflict(); habe ich natürlich schon gelesen und musste es auch einfügen damit das SlideDownBoxMenu und der Flexslider zusammen funktionieren.
Aber irgendwie... verstehe ich nicht wie es in meinem Fall mit dem NewsCalendar angewandt werden muss bzw warum es nicht automatisch funktioniert?
Es liegt mit Sicherheit genau an der jquery.min.js Datei. Denn lösche ich die jquery.min.js aus der Extension NewsCalendar funktionieren das SlideDownBoxMenu und der Flexslider wieder nur dann eben der NewsCalendar nicht mehr.
Kann mir jemand helfen? Bin irgendwie echt ratlos wo ich was einsetzten muss oder was ich löschen muss oder wo an welcher Stelle evtl richtig schreiben muss
Meine index.html sieht so aus:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.flexslider.js"></script>
<!-- FLEXSLIDER -->
<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
jQuery(window).load(function() {
jQuery('.flexslider').flexslider();
});
</script> </head>
Sarah_CreativMedien schrieb
Es liegt mit Sicherheit genau an der jquery.min.js Datei. Denn lösche ich die jquery.min.js aus der Extension NewsCalendar funktionieren das SlideDownBoxMenu und der Flexslider wieder nur dann eben der NewsCalendar nicht mehr.
Meine index.html sieht so aus:
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.flexslider.js"></script>
<!-- FLEXSLIDER -->
<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
jQuery(window).load(function() {
jQuery('.flexslider').flexslider();
});
</script> </head>
Servus,
ich versuche jQuery zu vermeiden, wo immer es geht. Warum? Ich will nicht vorzeitig graue Haare bekommen🙂
Die folgenden Hinweise helfen vielleicht weiter:
1) Nach meiner Erfahrung benutzt jede Extension ihre eigene Version von jQuery, was zwangsläufig zu Problemen führen muss, da die zuletzt eingelesende jQuery-Version immer die Funktion auch der anderen Extensions bestimmt.
Konsequenz:
a) Besorg Dir die aktuelle jquery.min-1.9.x.js bei jquery.com und speichere diese lokal im fileadmin-Verzeichnis.
b) Durchsuche alle Extensions, ob und wo diese auf jQuery zurückgreifen und setze alle Pfade (meist in typo3conf/ext/Extension/*/ setup.txt) auf Deine lokale jQuery-Version oder hash die Pfade bzw. http:-Abfragen beim CDN einfach aus..
2) Der Flexslider ist fies, weil er sein js immer zuerst geladen haben möchte und bei einem nachgeladenem js den Dienst verweigert. Da die neuste Version offenbar auch einen Fehler hat, verwende ich zur Zeit immer noch flexslider 1.2.1 mit zwei Besonderheiten:
a) Der Flexslider holt sich als einzige Extension mit SEINEM Code sein js und die lokale jQuery in den Header. Alle anderen Extensions werden erst im Body geladen und müssen dieses jQuery dann verwenden!
b) Typoscript dann:
headerData {
}
includeCSS {
file7 = fileadmin/templates/css/reset.css
file8 = EXT: /Pfad zu flexslider.css auf typo3conf/ext/...
file9 = fileadmin/templates/css/style.css
file10 = fileadmin/templates/css/fonts.css
}
includeJSFooter {
file11 = fileadmin/templates/js/custom.js // (Sonstiges js)
}
Und bitte: Nimm den Code aus der index.html raus. Diese Datei wird von TYPO3 bei jedem Page Request neu generiert. Da muss wirklich nichts anderes drinstehen, als die Marker für die Subparts bzw. für Fluid. Die anderen 99% des Codes kann man komplett mit Typoscript generieren. Das beschleunigt die Fehlersuche enorm😉
Viel Erfolg!