Antworten: 16
Seite [1] |
|||||
SlayR Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Thema - 05.08.2011 um 15:52 Uhr
Hi Leute, vielleicht kann mir jemand weiterhelfen... Ich habe meine news_recent umgebaut, so das ich die für mich wichtigsten Informationen auf der "Startseite" meiner Site habe. Natürlich ist von dem Umbau auch die recent.tpl betroffen. Ursprünglich waren meine navboxen (genau da habe ich mein jscript Problem) in die index.htm integriert, jetzt sind sie (gewollt) in die recent.tpl gewandert. Innerhalb der navboxes nutze ich zum Teil javascript, etwa den coda-slider, das multislide-modul, den youtube viewer und weitere. Auf meiner Seite ist AJAX aktiv. Nun habe ich das Problem, das beim 1. Seitenaufruf alle jscripts funktionieren, rufe ich dann die news_recent ein 2. Mal auf, werden offensichtlich die jscripts nicht mehr ausgeführt. Hat jemand nen Tip, wie ich bei jedem Aufruf der recent.tpl die jscripts neustarten kann? ------------------ --- CLANSPHERE ---
Professional clan care starts here |
||||
Inaktiv |
|
||||
sgraewe Supporter Beiträge: 6116 |
# Antwort: 1 - 05.08.2011 um 16:57 Uhr
bindest du dich sachen komplett ein oder per platzhalter? wenn per platzhalter, versuch es mal mit |noajax |
||||
Inaktiv |
|||||
palle Supporter Beiträge: 3073 |
# Antwort: 2 - 05.08.2011 um 17:19 Uhr
Wichtig ist das alle Links die klasse noajax erhalten. ------------------ I like the part where it says 'nyan' |
||||
Inaktiv |
|||||
SlayR Thread-Ersteller Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Antwort: 3 - 05.08.2011 um 19:52 Uhr
Und eben das funktioniert nicht (noajax-Klasse). Ich kenne den Trick ja auch. Kann es sein, das es daran liegt, das diese scripts innerhalb eines durch AJAX nachgeladenen Elements aufgerufen werden? Ich hab' bei google da auch schon einige Hinweise gefunden, werde jedoch nicht wirklich schlau draus. z.B. hier: http://board.raidrush.ws/showthread.php?t=504485 http://www.flashforum.de/forum/javascript-jquery/ajax-javascript-im-aktualisiert en-div-ausfuehren-278979.html http://www.traum-projekt.com/forum/101-javascript-and-ajax/124915-per-ajax-erzeu gter-content-erneut.html ------------------ --- CLANSPHERE ---
Professional clan care starts here |
||||
Inaktiv |
|||||
palle Supporter Beiträge: 3073 |
# Antwort: 4 - 06.08.2011 um 00:32 Uhr
Naja ich mein du bist lang genug dabei um zu wissen das wenn man etwas Logik "postet" mehr dazu sagen kann. Aber was ich dazu sagen kann ist das der Coda-Slider mit aktiviertem Ajax läuft... da ich es gerade getestet hab. Und wir beide meinen auch das gleiche noajax? Ich spreche nicht vom Platzhalter Attribut. Gruß ------------------ I like the part where it says 'nyan' Zuletzt editiert von palle am 06.08.2011 um 00:33 Uhr (1x Editiert) |
||||
Inaktiv |
|||||
SlayR Thread-Ersteller Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Antwort: 5 - 06.08.2011 um 10:09 Uhr
Ich gehe davon aus, das wir vom selben noajax sprechen. Prinzipiell läuft der Coda ja auch mit AJAX, jedoch (zumindest bei mir nicht) innerhalb des von AJAX aktualisierten contents! Ich gehe mal davon aus (korrigiert mich bitte wenn ich falsch liege) das von Clansphere eine id "csp_content" erzeugt wird, die den von AJAX zu aktualisierenden Content enthält. Genau darin liegt auch der Coda-Slider & Co. Das einzige, ebenfalls jscript nutzende Modul was innerhalb des AJAX-Contents liegt, ist der YouTube-Viewer. Ich hab AJAX jetzt wieder an, auf www.ths-germany.de damit sich jeder selbst ein Bild machen kann. Um etwas mehr "Logik" zu posten, hier der wichtigste Auszug aus der index.htm: mehr...
hier noch die news/recent.tpl: mehr...
die news/recent.php wurde um ",1" in der echo-Zeile erweitert um auch "Fremdmodule" aufzurufen. ------------------ --- CLANSPHERE ---
Professional clan care starts here Zuletzt editiert von SlayR am 06.08.2011 um 10:12 Uhr (2x Editiert) |
||||
Inaktiv |
|||||
sgraewe Supporter Beiträge: 6116 |
# Antwort: 6 - 06.08.2011 um 10:50 Uhr
du musst den links des codasliders die class="noajax" geben, das es alles ohne probleme geht, weis ich zu 100%, da wir das schon in mehreren anpassungen zum laufen bekommen haben |
||||
Inaktiv |
|||||
palle Supporter Beiträge: 3073 |
# Antwort: 7 - 06.08.2011 um 12:14 Uhr
Wichtig ist das alle Links die klasse noajax erhalten. Das fehlt doch komplett bei dir.
------------------ I like the part where it says 'nyan' |
||||
Inaktiv |
|||||
SlayR Thread-Ersteller Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Antwort: 8 - 06.08.2011 um 12:21 Uhr
Wichtig ist das alle Links die klasse noajax erhalten. Lieb gemeinter Tip, palle. habe ich auch bereits durch, ohne Besserung. im Gegenteil, das jscript, das die Hauptnavigation aktiv hält, lief nicht mehr. es geht ja nicht um den Aufruf einer separaten index.php samt separater index.htm, sowas wie board.htm ist ja garnicht Ziel des ganzen. Da würde es mit der "noajax-Klasse" janz sicher laufen. wie gesagt, ich wundere mich, das jscript nicht in einer "tpl-verschachtelung" läuft. Im grunde lädt ja meine recent.tpl die navlist-tpl's nach. und da scheints im Zusammenhang mit AJAX und jscript eben zu hapern. Habe das ganze auch mal auf die schnelle mit 'ner frischen Installation versucht, multislide-Modul drauf, in die news/recent.tpl eingebaut, die news/recent.php erweitert (,1 für "fremdmodule") und habe genau den selben effekt. Sobald ich AJAX aktiviere werden die integrierten jscripts nicht mehr ausgeführt. ------------------ --- CLANSPHERE ---
Professional clan care starts here Zuletzt editiert von SlayR am 06.08.2011 um 13:20 Uhr (1x Editiert) |
||||
Inaktiv |
|||||
SlayR Thread-Ersteller Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Antwort: 9 - 07.08.2011 um 16:14 Uhr
Okay (oder auch nicht) ich hab' da etwas rausgefunden. Um jscripts in nachgeladenem AJAX-Content laufen zu lassen, müsste man sehr wahrscheinlich die AJAX-Komponente von Clansphere umschreiben. Mir ist das etwas zu weit, und zu hoch . Ich behelfe mir nun mit unterschiedlichen htm's auch wenn mir das "doppelte" Laden vom Content nicht gerade schmeckt. Da ich an dieser Stelle wohl nicht weiterkomme, mache ich hier mal zu. ------------------ --- CLANSPHERE ---
Professional clan care starts here |
||||
Inaktiv |
|||||
SlayR Thread-Ersteller Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Antwort: 10 - 11.08.2011 um 13:10 Uhr
Ich kanns einfach nicht sein lassen Es muss doch möglich sein, so ein wenig jscript zu laufen zu bekommen. Um mal visuell zu erklären wo mein Problem ist habe ich mal 'ne skizze gepinselt: Es ist mir um's verrecken nicht möglich, innerhalb dieser wars/navlist jscript zu starten zu bekommen. Also, wie gesagt, news_recent angepasst. Darin wars/navlist eingebettet. Wars Navlist ist auch abgeändert (coda-slider zeigt einzelne wars-kategorien an). Vore einem AJAX-Reload (Seite frisch aufgerufen) läuft der coda-slider 1a, nach wiederkehr, von z.b. board oder gallerie oder was auch immer, auf die news/recent läuft der eben nicht mehr. Meine Version ist die 2011.2 AJAX ist aktiv mod_rewrite ist aktiv. Ich habe bereits versucht, die Klasse "noajax" sowohl den Links, oder den Navlists, aber auch links und Navlists zuzuweisen. Leider Ohne erfolg. ------------------ --- CLANSPHERE ---
Professional clan care starts here |
||||
Inaktiv |
|||||
SCHIRI Weltmeister Herkunft: Hamburg Beiträge: 5299 |
# Antwort: 11 - 11.08.2011 um 16:24 Uhr
zwei probleme: 1. Wenn Ajax nicht aktiviert ist, wird jQuery erst bei der unteren Kante des blauen bereichs geladen, kann also im orangenen bereich nicht benutzt werden. 2. Wenn Ajax aktiviert ist, wird der rote bereich und alles darin bei jedem aufruf der news/recent neu geladen. das javascript im orangenen bereich wird also auch jedes mal neu ausgeführt. Im prinzip ist das auch gut. Wenn aber dein Javascript irgendetwas globales macht (globale variablen oder irgendwelche speziellen events bindet oder so) dann gibt es chaos. Ich hab den Thread jetzt noch nicht ganz gelesen, aber wenn du z.B. per Javascript einen Div erzeugst, den du am ende des bodys (des blauen bereiches) einfügst, dann bleibt der ja da auch wenn man die news-seite verlässt und wenn man die news noch mal aufruft wird er wieder eingefügt und so weiter und so etwas kann zu fehlern führen. wenn du plugins benutzt ist natürlich nicht sofort erkennbar was die alles machen, was mit ajax kollidiert. jquery-plugin-js-dateien solltest du grundsätzlich im <head> oder am ende des <body> vom Template einbinden und niemals direkt an der stelle wo sie benutzt werden sollen. Ausserdem darfst du dich bei Ajax nicht auf das domready oder onload event ( bzw $(function(){ ... } ) verlassen, weil alles was daran gebunden ist nur ein einziges mal ausgeführt wird. schau mal in die clansphere.js dort wird irgendwo das csAjaxLoad Event (oder so ähnlich) benutzt. das ist der einzige weg wie soetwas funktioniert. ------------------ www.laszlokorte.de Zuletzt editiert von SCHIRI am 11.08.2011 um 16:28 Uhr (1x Editiert) |
||||
Inaktiv |
|||||
SlayR Thread-Ersteller Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Antwort: 12 - 11.08.2011 um 18:47 Uhr
Danke, Schiri, onload ist genau das Problem, denke ich jedenfalls. Der Coda wird z.B. durchs onload event aktiv, genau wie das Multislide-Pro Modul von X-Ray. Das erklärt natürlich so einiges. Ich werd' mir mal die clansphere.js ansehen, ob ich damit was zaubern kann.Auf jeden Fall hast Du mich auf die richtige Spur gebracht. ------------------ --- CLANSPHERE ---
Professional clan care starts here |
||||
Inaktiv |
|||||
Mindcrime Geekboy Beiträge: 1155 |
# Antwort: 13 - 12.08.2011 um 00:31 Uhr
Ohne verbesserungen/anpassungen an multislide kannst das eh nicht loesen... Das prob mit jquery, multislide und noch ein anderes javascript was auch jquery benutzt hab ich auch schon gehabt... |
||||
Inaktiv |
|||||
SlayR Thread-Ersteller Geekboy Herkunft: Calbe (Saale) Beiträge: 1133 |
# Antwort: 14 - 12.08.2011 um 08:16 Uhr
Na dann werde ich's mal mit 'nem ganz anderen Lösungsansatz versuchen. Primär ging es mir darum, ausgewählte Navigationstabs aktiv zu halten. Ich habe dazu gestern Abend nochmal einen alten Thread gefunden, der sich mit damit auseinandersetzt. Schade eigentlich das AJAX solchen Ärger macht, unter anderem hebt ja AJAX Clansphere von anderen CMS ab. Ich werde dann im Endeffekt auf AJAX verzichten müssen. ------------------ --- CLANSPHERE ---
Professional clan care starts here Zuletzt editiert von SlayR am 12.08.2011 um 08:17 Uhr (1x Editiert) |
||||
Inaktiv |
|||||
rodlov Rock the board Herkunft: Berlin Beiträge: 43 |
# Antwort: 15 - 12.08.2011 um 11:54 Uhr
dazu hab ich mich auch entschlossen. ------------------ Wen du nicht mit Können beeindrucken kannst, den verwirre mit Schwachsinn! |
||||
Inaktiv |
|||||
SCHIRI Weltmeister Herkunft: Hamburg Beiträge: 5299 |
# Antwort: 16 - 12.08.2011 um 14:29 Uhr
Wie ich schon in einem anderen Thread erklärt habe, hatten Micha und ich Ajax damals implementiert als in den Browsern noch sehr zentrale Technologien (z.B. per Javascript in die Browser-History schreiben und die URL ändern zu können, ohne die Seite neu zu laden) fehlten. Es war also möglich es besser umzusetzen als es jetzt ist. Inzwischen, wenn alle Browser mit html5 auch einige neue Javascript-Features erhalten haben, könnte man das ganze an einigen Stellen viel sauberer lösen. Dafür müsste aber Zeit ins Umschreiben/Neuschreiben investiert werden, die ich grade nicht aufbringen kann. Falls jemand von euch (an die Community) sich mit Javascript, jQuery und der gesamten Materie auskennt, kann er sich ja gerne daran versuchen. Im Prinzip muss nur die ajax.js angefasst werden. ------------------ www.laszlokorte.de |
||||
Inaktiv |
|||||
Antworten: 16
Seite [1] |
Sie müssen sich registrieren, um zu antworten. |