Uncaught ReferenceError: Discourse ist nicht definiert wegen Cloudflare Rocket Loader

Bei einigen Themen auf meiner Seite erhalte ich beim Öffnen auf mobilen Geräten folgende Fehlermeldungen in der JS-Konsole:

Zum Beispiel, wenn ich dies auf einem Mobilgerät öffne: FAQs For New Content Writers - How To Discuss

Derselbe Fehler tritt auf, wenn ich versuche, direkt über die ID statt über den Slug des Themennamens zu einem Thema zu gelangen:

Der gleiche Fehler tritt auch auf, wenn ich dieses Thema auf dem Desktop öffne:

Ich habe Discourse kürzlich aktualisiert und auch ein manuelles Rebuild über das Terminal durchgeführt, doch der Fehler verschwindet immer noch. Kann mir jemand helfen, das Problem zu lösen?

Gibt es Plugins, die dafür verantwortlich sind? Hier sind meine derzeitigen Plugins:

Alle meine Plugins sind auf dem neuesten Stand.

Außerdem habe ich gerade getestet und bestätigt, dass der Fehler nicht auftritt, wenn ich zu meiner Seite gehe, nach dem Thema „FAQ

1 „Gefällt mir“

Sie verwenden Cloudflare Rocket Loader, was nicht unterstützt wird.

Bitte wechseln Sie in Ihrem Cloudflare-Admin-Bereich zum DNS-Eintrag für Discourse und stellen Sie die Wolke auf grau. Discourse wird bei einer orangen Wolke zufällig fehlschlagen, wie Sie sehen können.

3 „Gefällt mir“

@Falco vielen Dank für deine schnelle Antwort. Ich habe diese Cloud gerade auf Grau umgestellt, also auf DNS-only; vorher war sie proxied.

Aber ich sehe immer noch denselben Fehler. Ich denke, ich sollte auch Rocket Loader in den CF-Einstellungen deaktivieren.

Ich habe Rocket Loader in den Einstellungen ebenfalls deaktiviert.

Aber als ich die URL aktualisiert habe, sehe ich immer noch dieselben Fehler :frowning:

In meiner Erfahrung dauert es einige Stunden, bis die Änderung wirksam wird.

1 „Gefällt mir“

Okay, mal sehen: Du schlägst also vor, dass ich das Wolken-Icon grau lasse und Rocket Loader in den Einstellungen ebenfalls deaktiviere?

Außerdem ist mir mehrmals aufgefallen, dass meine Website-Oberfläche zufällig so zusammenbricht, und ich sehe diesen Fehler in der Konsole:

NetworkFirst.mjs:167 Uncaught (in promise) no-response: no-response :: [{"url":"https://pagead2.googlesyndication.com/pagead/gen_204?id=puberror&context=165&msg=TagError%3A%20adsbygoogle.push()%20error%3A%20No%20slot%20size%20for%20availableWidth%3D0%0Aat%20Vj%20(https%3A%2F%2Fpagead2.googlesyndication.com%2Fpagead%2Fjs%2Fadsbygoogle.js%3A155%3A453)%0Aat%20Uj%20(adsbygoogle.js%3A154%3A137)%0Aat%20ik%20(adsbygoogle.js%3A162%3A239)%0Aat%20Pk%20(adsbygoogle.js%3A191%3A493)%0Aat%20sl%20(adsbygoogle.js%3A209%3A106)%0Aat%20rl%20(adsbygoogle.js%3A207%3A1123)%0Aat%20Cl%20(adsbygoogle.js%3A222%3A288)%0Aat%20adsbygoogle.js%3A217%3A43%0Aat%20Ce.n.ba%20(adsbygoogle.js%3A68%3A294)%0Aat%20Qe%20(adsbygoogle.js%3A77%3A357)&shv=r20200924&eid=42530672%2C21067492&client=ca-pub-7087907313091932&slotname=5744927958&url=https%3A%2F%2Fhowtodiscuss.com%2Flatest"}]
    at a.makeRequest (https://howtodiscuss.com/javascripts/workbox/workbox-strategies.prod.js:1:2145)

Selbst wenn ich den Adblocker deaktiviere oder aktiviere, verschwindet dieser Fehler nicht.

Dieses Thema funktionierte bisher einwandfrei, aber

Außerdem erhalte ich jetzt den Fehler ‘unsecured’.

Ich habe den Cloud-Status wieder auf ‘proxied’ gestellt und Rocket Loader in den Einstellungen deaktiviert. Mal sehen.

Die orange Wolke bedeutet, dass Sie während der Installation kein Zertifikat für Ihre Website erhalten haben, das standardmäßig für alle anderen installiert wird.

Bitte lesen Sie und befolgen Sie Set up HTTPS support with Let's Encrypt, um das Problem zu beheben.

2 „Gefällt mir“

Okay, aber ich habe es auf den orange Cloud-Proxy umgestellt und Rocket Loader in den Einstellungen deaktiviert. Es scheint jetzt gut zu funktionieren, danke!

Kannst du mir außerdem raten, ob du Erfahrung mit Nginx hast und wie man eine Weiterleitung mit einem Abfrageparameter durchführt: https://stackoverflow.com/questions/64110945/nginx-virtualhost-how-to-redirect-a-discourse-url-with-amp-query-parameter-to