يبدو أن هذا يحدث فقط على أجهزة iOS - في بعض الأحيان تفتح الروابط الخارجية داخل نفس النافذة ولكن CSS لا يتم تحميله. غريب ولا يمكنني حتى محاولة إعادة إنتاجه!
يبدو كالتالي:
وجدت أيضًا تقارير في منتديات Discourse العامة الأخرى:
نظرًا لأنه تم الإبلاغ عنه وإصلاحه من قبل، أتساءل عما إذا كان يمكن أن يكون مرتبطًا بموضوع أو مكون موضوع ربما؟ سأكون ممتنًا لأي مساعدة.
لا ببساطة لأنني رأيت هذا السلوك عدة مرات في الأسبوعين الماضيين، فقط على جهاز iPhone الخاص بي وسمعت نفس الشيء من المستخدمين ولكن لا يمكنني تكراره، يبدو عشوائيًا.
ظننت ذلك أيضًا، ولكن يبدو أن هذا يحدث فقط عند النقر من المنتدى، ولأنني وجدت منشورات أخرى، اعتقدت أنه ربما يمكن لشخص ما تسليط الضوء على هذا - قد تكون مشكلة في نظام iOS. كان الأمر أسهل لو لم يتم تحميل CSS في كل مرة وفقط في بعض الأحيان
@Lilly أتساءل عما إذا كان بإمكانك مشاركة كيفية تعامل discourse مع href وما إذا كانت هناك طريقة معينة لنظام iOS؟ يبدو أن هذه مشكلة متعلقة بـ Safari، ولكنها تحدث دائمًا من داخل discourse عند الانتقال إلى مجال آخر. هذا المجال الآخر لا يتم تحميله كما لو أن discourse يحاول تحميل محتوى الصفحة المطلوبة محليًا.
لقد جربنا بالفعل فرض سياسة عدم التخزين المؤقت واللعب بالبادئة www. لا يبدو أن أي شيء يعمل. إنها بالضبط المشاكل المذكورة هنا:
لقد قاموا بتحميل الموقع الرئيسي من community.URL.com الخاص بهم مما تسبب في نفس التحميل الجزئي للصفحة.
لأشهر، كان مستخدمو iPhone يبلغون عن أنّه عند النقر على الروابط من النطاق الفرعي (discourse) للعودة إلى الموقع الرئيسي، قد لا يتم جلب ملفات CSS أو JS ولكن يتم جلب HTML فقط، وبالتالي يصبح الموقع غير قابل للاستخدام.
لا يحدث هذا في كل مرة، ولكنه يحدث بشكل متكرر بما يكفي لدرجة أنهم يضطرون إلى إعادة تحميل الصفحة لإصلاحه. عند إعادة التحميل، يبقون بالفعل في منتديات discourse، لذا يتعين عليهم النقر مرة أخرى.
بالنظر إلى ملف access.log الخاص بـ nginx، يمكننا رؤية أنّه لسبب ما، تحاول منتديات discourse جلب ملفات النطاق الرئيسي بدلاً من فهرس النطاق الرئيسي.
وغني عن القول، أن منتديات discourse لا تحتوي على هذه الملفات، وبالتالي تصبح الصفحة معطلة.
هذا من “access.log” الخاص بـ nginx:
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/cart/cart.js?v=0.32 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 429 230 "https://here.domain.com/c/testing/17" - 0.000 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /css/footer_and_header.css?v=1.13 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7963 "https://here.domain.com/c/testing/17" 0.019 0.019 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /css/common/jssocials.css?v=0.03 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7968 "https://here.domain.com/c/testing/17" 0.020 0.020 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/common/lightslider.js?v=0.14 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7980 "https://here.domain.com/c/testing/17" 0.020 0.020 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/common/jssocials.js HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7978 "https://here.domain.com/c/testing/17" 0.034 0.034 "-" "-" "-" "-" "-" "-" "-"
لقد حاولنا استخدام روابط href و window.reload() ولكن المشكلة لا تزال كما هي. مرة أخرى، تحدث فقط في بعض الأحيان وفقط لمستخدمي iPhone.
هل لديك أي أفكار حول سبب حدوث ذلك وكيف يمكن إصلاحه؟
لقد لاحظنا بعض المشكلات الغريبة كهذه. على حد علمنا، يجب أن يكون هناك خطأ في Safari/WebKit. يجب أن يكون من المستحيل حدوث هذا النوع من عرض “الموقع المختلط”. لقد قدمنا تقريرًا إلى WebKit. (مع النسخ @pmusaraj)
إذا تمكن أي شخص من إيجاد طريقة متسقة لإعادة إنتاج المشكلة، فمن المؤكد أن ذلك سيساعد في تحديد أولويات الخطأ.
أي أفكار لحل بديل للروابط الخارجية؟
كلاهما، HTML HREF و JS window.replace، يتصرفان بنفس الطريقة
(أنا متأكد من أن الأمام/الخلف يكادان يكونان مستحيلين لتجاوزهما)
للأسف، ليس لدي أي أفكار لحل بديل. حاولت إلغاء تسجيل عاملي الخدمة تحسبًا لأن يكون ذلك هو السبب المتعارض، لكن ذلك لم يكن له أي تأثير.
حاليًا، تحولت إلى Safari Technology Preview محليًا. يبدو أنه لا توجد به المشكلة، مما قد يشير إلى أنه تم إصلاحها في إصدارات أحدث من Webkit. أو قد يعني ذلك أن متصفحًا جديدًا بذاكرة تخزين مؤقت جديدة لا توجد به المشاكل… من الصعب تحديد ذلك.
سنراقب هذا الأمر ونستمر في البحث عن حلول، تؤثر المشكلات على العديد من الأشخاص في فريق Discourse وعلى منصات مختلفة (macOS، iOS، تطبيق DiscourseHub). بخلاف العثور على حل سحري، فإن أفضل ما يمكننا القيام به هنا هو متابعة تقرير خطأ Webkit وإضافة معلومات إضافية هناك، إذا كانت ذات صلة/مفيدة.