خطأ مرجعي غير مُلتقط: Discourse غير مُعرّف بسبب Cloudflare Rocket Loader

في بعض المواضيع على موقعي، عند فتحها على جهاز محمول، تظهر هذه الأخطاء في وحدة تحكم JavaScript:

على سبيل المثال، عند فتح هذا الرابط على الهاتف المحمول:

نفس الخطأ يظهر إذا حاولت الانتقال إلى موضوع مباشرة بإدراج معرفه (ID) بدلاً من اسم الرابط (slug):

نفس الخطأ يظهر إذا فتحت هذا الموضوع على سطح المكتب:

لقد قمت مؤخرًا بترقية Discourse وأجريت إعادة بناء يدوية من الطرفية (Terminal)، ومع ذلك لا يزال هذا الخطأ مستمرًا. هل يمكن لأي شخص مساعدتي في حله؟

هل هناك أي إضافات (Plugins) تسبب هذا الخطأ؟ هذه هي الإضافات المثبتة لدي حاليًا:

جميع إضافاتي محدثة:

كما قمت باختبار وتأكدت من أن الخطأ لا يحدث إذا ذهبت إلى موقعي وبحثت عن موضوع “FAQ” ثم نقرت عليه، ولكن إذا نسخت عنوان URL الخاص بهذا الموضوع وفتحتَه مباشرة في المتصفح أو نقرت على رابط (في موقع خارجي آخر، وليس داخل Discourse)، فإن هذا الخطأ يظهر.

إليك سجل الخطأ الخام:

إعجاب واحد (1)

أنت تستخدم Cloudflare Rocket Loader، وهو غير مدعوم.

يرجى الانتقال إلى إدخال DNS الخاص بـ Discourse في لوحة تحكم Cloudflare وتغيير حالة السحابة إلى الرمادي. سيتعطل Discourse بشكل عشوائي مع سحابة برتقالية، كما هو موضح.

3 إعجابات

@Falco شكرًا جزيلاً لك على ردك السريع. لقد قمت للتو بتحويل هذه السحابة إلى الرمادي، مما يعني أنني قمت بتعيينها على DNS فقط، بينما كانت سابقًا مخفّضة.

ولكن لا تزال أرى نفس الخطأ. أعتقد أنه يجب عليّ أيضًا إيقاف Rocket Loader في إعدادات CF.

لقد قمت بإيقاف Rocket Loader في الإعدادات أيضًا.

ولكن عند تحديث ذلك الرابط، ما زلت أرى نفس الأخطاء :frowning:

في تجربتي، يستغرق الأمر بضع ساعات حتى ينفذ التغيير.

إعجاب واحد (1)

حسناً، دعني أرى، إذن تقترح عليّ إبقاء الغيوم رمادية وإيقاف محمل الصواريخ من الإعدادات أيضاً؟

أيضاً، لاحظت مراراً وتكراراً بشكل عشوائي أن واجهة موقعي تنكسر هكذا وأرى هذا الخطأ في وحدة التحكم

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)

حتى لو قمت بتعطيل أو تفعيل مانع الإعلانات، لا يختفي هذا الخطأ.

كان ذلك الموضوع يعمل بشكل جيد الآن، لكن

أيضًا، أواجه الآن خطأ “غير آمن”

لقد أعيدت السحابة إلى الوضع المخزّن (proxied) وأوقفت Rocket Loader في الإعدادات، لنرَ ما سيحدث.

تدل السحابة البرتقالية على أنك لم تحصل على شهادة لموقعك أثناء التثبيت، وهي مثبتة افتراضيًا للجميع.

يرجى قراءة ومتابعة Set up HTTPS support with Let's Encrypt لإصلاح المشكلة.

إعجابَين (2)

حسناً، لكنني غيّرت الإعداد إلى ‘orange cloud proxied’ وأوقفت ‘rocket loader’ من الإعدادات، ويبدو أن كل شيء يعمل بشكل جيد الآن، شكراً لك!

أيضاً، هل يمكنك إرشادي إذا كان لديك خبرة في Nginx، وكيف يمكنني إجراء إعادة توجيه مع معلمة استعلام؟ https://stackoverflow.com/questions/64110945/nginx-virtualhost-how-to-redirect-a-discourse-url-with-amp-query-parameter-to