Problem mit der XH-Suche und jQuery

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
frase
Posts: 2274
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Problem mit der XH-Suche und jQuery

Post by frase » Tue Jul 03, 2018 7:47 am

Hi,
ich bastele gerade an einem Template.

Ein eigenartiges Problem tritt auf:
Ich gebe in das Suchen-Formular NICHTS ein und schicke die Anfrage ab.
Alles O.K. - es erscheint:
Suchergebnis
„“ wurde nicht gefunden.

Gebe ich aber irgendeinen Suchbegriff ein, z.B. "und", dann hängt die Seite (Preloader) und die Konsole meldet:
ReferenceError: jQuery is not defined
Uncaught ReferenceError: $ is not defined
at main.js:2

main.js Zeile 2 lautet: jQuery(document).ready(function ($) { ...

Die Adresse im Browser sieht so aus:
... /?search=und&function=search

Was könnte das Problem sein?

Wer schauen will: Bitte melden. Test-Adresse per PN.

frase
Posts: 2274
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by frase » Tue Jul 03, 2018 8:44 am

Hm.
Lösung selbst gefunden.
jQuery auf "autoload" gestellt und schon klappt alles.

Trotzdem kann ich mir das nicht erklären.
Ist es denn ähnlich, wie mit dem FA-Plugin bei "&print"?
Greift bei "/?search=und&function=search" das Template nicht vollständig?
Denn im Template wird jQuery und FA aktiviert.

Sind zukünftige Lösungen in Aussicht?
Denn sonst kann ich mir den Part "include_jQuery();" und "fa_require();" im Template sparen.
Man muss dann also anders dokumentieren.
:cry:

cmb
Posts: 12884
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by cmb » Tue Jul 03, 2018 9:36 am

frase wrote:
Tue Jul 03, 2018 8:44 am
Trotzdem kann ich mir das nicht erklären.
Ist es denn ähnlich, wie mit dem FA-Plugin bei "&print"?
Greift bei "/?search=und&function=search" das Template nicht vollständig?
Denn im Template wird jQuery und FA aktiviert.
Das minimale eingebaute Template wird nur für die Print-View und den Login-Screen verwendet. Und wenn dieses verwendet wird, dann wird das Template (außer dessen Stylesheet) völlig ignoriert. Das kann hier also nicht das Problem sein.

Was nun hier das Problem ist, kann ich aber auch nicht sagen. Könntest du mir Test-Adresse mit Admin-Password per PN oder Mail zukommen lassen?
Christoph M. Becker –Plugins for CMSimple_XH, but not for CMSimple 4+

frase
Posts: 2274
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by frase » Tue Jul 03, 2018 9:47 am

Ist per PN unterwegs.

cmb
Posts: 12884
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by cmb » Tue Jul 03, 2018 10:41 am

Okay, Problem gefunden. Die Suche durchläuft ja alle Seiten, und auf einer wird youtube_privacy() aufgerufen. Dieses aktiviert jQuery. Weil aber eigentlich keine der Seiten, die die Suche durchläuft, wirklich angefordert wurde, räumt die Suche nach Abschluss wieder auf, und löscht damit das von jQuery4CMSimple in $hjs hinzugefügte Script. Später aktiviert das Template wieder jQuery, aber dort wird festgestellt, dass jQuery vermeintlich schon eingebunden wurde, und somit passiert nichts.

Irgendwie kommt mir dieses Problem bekannt vor, ich konnte aber auf die Schnelle kein passendes Github-Issue finden. Schlimmer noch: ich wüsste zumindest erst mal nicht, wie wir das sauber lösen können. Das Auswerten von Skripting während der Suche erscheint mir immer mehr ein echtes Problem.
Christoph M. Becker –Plugins for CMSimple_XH, but not for CMSimple 4+

frase
Posts: 2274
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by frase » Tue Jul 03, 2018 10:59 am

Hm. Möglicherweise hast du das Problem doch noch nicht gefunden.
In meinem :target-Template ist doch eigentlich alles identisch - außer dem Preloader. Und dort funktioniert die Suche problemlos.

Was mich auch wundert: Bei einer leeren Suchanfrage läuft alles durch.
Vielleicht verstehe ich es auch nur nicht richtig.
Auf jeden Fall funktioniert es mit jQuery-Autoload gut. Also keine Gefahr.

cmb
Posts: 12884
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by cmb » Tue Jul 03, 2018 11:17 am

frase wrote:
Tue Jul 03, 2018 10:59 am
Hm. Möglicherweise hast du das Problem doch noch nicht gefunden.
In meinem :target-Template ist doch eigentlich alles identisch - außer dem Preloader. Und dort funktioniert die Suche problemlos.

Was mich auch wundert: Bei einer leeren Suchanfrage läuft alles durch.
Vielleicht verstehe ich es auch nur nicht richtig.
Bei einer leeren Suchanfrage bricht die Suche vorzeitig ab. Wenn die Suche beim :target-Template einwandfrei funktioniert, dann ist entweder im Content kein Pluginaufruf, der jQuery aktiviert, oder jQuery steht auf Autoload (bzw. es wird schon vor Ausführung der Suchfunktion aktiviert).

Oder umgekehrt: einfach mal den youtube_privacy() Aufruf entfernen. Dann funktioniert die Suche (so hatte ich es letztlich ausprobiert).
frase wrote:
Tue Jul 03, 2018 10:59 am
Auf jeden Fall funktioniert es mit jQuery-Autoload gut. Also keine Gefahr.
Trotzdem sollte das Problem gelöst werden. Es betrifft potentiell auch Plugins, die jQuery nicht verwenden.
Christoph M. Becker –Plugins for CMSimple_XH, but not for CMSimple 4+

frase
Posts: 2274
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by frase » Tue Jul 03, 2018 11:51 am

cmb wrote:
Tue Jul 03, 2018 11:17 am
Bei einer leeren Suchanfrage bricht die Suche vorzeitig ab. Wenn die Suche beim :target-Template einwandfrei funktioniert, dann ist entweder im Content kein Pluginaufruf, der jQuery aktiviert, oder jQuery steht auf Autoload (bzw. es wird schon vor Ausführung der Suchfunktion aktiviert).
1.: Leere Anfrage: verstanden.
2.: Beim :target ist jQuery nicht auf autoload und es gibt trotzdem den identischen youtube_privacy()-Aufruf - und es klappt.
3.: youtube_privacy()-Aufruf im neuen Template entfernt -> Suche funktioniert.

Ich schließe daraus, dass das Problem eine Kombination aus youtube_privacy() UND dem Preloader ist.

Und jetzt noch was verwunderliches:
Ich habe mal im neuen Template jQuery Autoload "off" gestellt.
Dann mal im Adminmodus gesucht: Und funktioniert!
Da wird wohl wieder irgendetwas schnell genug sein, um jQuery zu aktivieren. ;-)

cmb
Posts: 12884
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by cmb » Tue Jul 03, 2018 12:12 pm

frase wrote:
Tue Jul 03, 2018 11:51 am
2.: Beim :target ist jQuery nicht auf autoload und es gibt trotzdem den identischen youtube_privacy()-Aufruf - und es klappt.
Ja, bis auf den fehlenden Scroll-To-Top-Link. Eben weil auch hier jQuery nicht eingebunden wird (siehe Seitenquelltext bzw. Browserkonsole).
frase wrote:
Tue Jul 03, 2018 11:51 am
Und jetzt noch was verwunderliches:
Ich habe mal im neuen Template jQuery Autoload "off" gestellt.
Dann mal im Adminmodus gesucht: Und funktioniert!
Da wird wohl wieder irgendetwas schnell genug sein, um jQuery zu aktivieren. ;-)
Das könnte fhs_adminmenu sein.
Christoph M. Becker –Plugins for CMSimple_XH, but not for CMSimple 4+

frase
Posts: 2274
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem mit der XH-Suche und jQuery

Post by frase » Tue Jul 03, 2018 12:36 pm

cmb wrote:
Tue Jul 03, 2018 12:12 pm
Das könnte fhs_adminmenu sein.
Oh ja. Das wäre möglich.
Danke für deine Hilfe.

Post Reply