Erreur de référence non interceptée : Discourse non défini en raison de Cloudflare Rocket Loader

Sur certains sujets de mon site, lorsque je les ouvre sur un appareil mobile, je rencontre ces erreurs dans la console JS,

Par exemple, lorsque j’ouvre ceci sur mobile : FAQs For New Content Writers - How To Discuss

La même erreur se produit si j’essaie d’accéder directement à un sujet en ajoutant son ID au lieu du slug du nom du sujet :

La même erreur apparaît si j’ouvre ce sujet sur un ordinateur de bureau :

J’ai récemment mis à niveau Discourse et effectué une reconstruction manuelle depuis le terminal, mais cette erreur persiste. Quelqu’un peut-il m’aider à la résoudre ?

Y a-t-il des plugins qui causent ce problème ? Voici mes plugins actuels :

Tous mes plugins sont à jour :

De plus, j’ai testé et confirmé que le problème ne se produit pas si je vais sur mon site, recherche ce sujet « FAQ » et clique dessus. En revanche, si je copie directement l’URL de ce sujet et que je l’ouvre dans mon navigateur ou si je clique sur un lien (sur un autre site externe, pas sur Discourse), cette erreur apparaît.

Voici le journal d’erreur brut :

1 « J'aime »

Vous utilisez Cloudflare Rocket Loader, qui n’est pas pris en charge.

Veuillez accéder à l’entrée DNS pour Discourse dans votre panneau d’administration Cloudflare et passer le nuage en gris. Discourse échouera de manière aléatoire avec un nuage orange, comme vous pouvez le constater.

3 « J'aime »

@Falco merci beaucoup pour votre réponse rapide. Je viens de passer ce Cloud en gris, c’est-à-dire que je l’ai configuré en mode DNS uniquement ; auparavant, il était en mode proxy.

Mais je vois toujours la même erreur. Je pense que je devrais également désactiver Rocket Loader dans les paramètres de CF.

J’ai donc désactivé Rocket Loader dans les paramètres.

Cependant, après avoir actualisé cette URL, je vois toujours les mêmes erreurs :frowning:

D’après mon expérience, il faut quelques heures pour que le changement prenne effet.

1 « J'aime »

D’accord, voyons cela. Vous me suggérez donc de laisser ce nuage gris et de désactiver Rocket Loader dans les paramètres également ?

De plus, j’ai remarqué à plusieurs reprises que l’interface de mon site se brise de manière aléatoire comme ceci, et je vois cette erreur dans la console :

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)

Même si je désactive ou active le bloqueur de publicités, cette erreur ne disparaît pas.

Ce sujet fonctionnait bien auparavant, mais

De plus, je reçois maintenant une erreur de connexion non sécurisée

J’ai réactivé le mode proxy sur Cloudflare et désactivé Rocket Loader dans les paramètres. Nous verrons bien.

Le nuage orange indique que vous n’avez pas obtenu de certificat pour votre site lors de l’installation, alors qu’il est installé par défaut pour tous les autres.

Veuillez lire et suivre Set up HTTPS support with Let's Encrypt pour résoudre le problème.

2 « J'aime »

D’accord, mais j’ai changé pour un proxy Cloudflare orange et désactivé Rocket Loader dans les paramètres. Cela semble fonctionner correctement maintenant, merci !

De plus, pouvez-vous me conseiller si vous avez de l’expérience avec Nginx et comment effectuer une redirection avec un paramètre de requête ? https://stackoverflow.com/questions/64110945/nginx-virtualhost-how-to-redirect-a-discourse-url-with-amp-query-parameter-to