نظام iOS لا يحمل CSS أحيانًا عند التنقل بين نطاقات فرعية

يبدو أن هذا يحدث فقط على أجهزة iOS - في بعض الأحيان تفتح الروابط الخارجية داخل نفس النافذة ولكن CSS لا يتم تحميله. غريب ولا يمكنني حتى محاولة إعادة إنتاجه!

يبدو كالتالي:

وجدت أيضًا تقارير في منتديات Discourse العامة الأخرى:

نظرًا لأنه تم الإبلاغ عنه وإصلاحه من قبل، أتساءل عما إذا كان يمكن أن يكون مرتبطًا بموضوع أو مكون موضوع ربما؟ سأكون ممتنًا لأي مساعدة.

3 إعجابات

ما هي الأخطاء التي تظهر في سجلات الشبكة عند فشل تحميل ملف CSS؟

بالنسبة لكونها نظريًا مشكلة في السمة/المكون، هل جربت الوضع الآمن؟

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

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

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

يبدو أن هذه مشكلة قديمة. لا يمكنني إعادة إنتاجها في الوقت الحالي وجميع المواضيع المرتبطة بها قديمة بسنة على الأقل. يبدو أن المنتدى غير محدث.

إعجابَين (2)

شكرًا، لكنه يعمل بأحدث تحديث تجريبي :frowning:

ما الذي تم إصلاحه في هذا الخطأ؟ أتساءل عما إذا كانت هناك ربما مكون أو سمة أعادت إنشاء هذا الخطأ؟

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

أحاول التقاطه مرة أخرى، يبدو أنه يحدث بشكل متقطع - لست متأكدًا من كيفية تكراره. ومع ذلك، يحدث ذلك، فقط في نظام iOS على حد علمي.

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

أنا أستخدم أجهزة iOS متعددة، iPhone 15 Pro Max، iPad Air الجيل الخامس، MacBook Air M2 ولا يمكنني تكرار ذلك :thinking:

ما هو طراز الجهاز وإصدار iOS الذي تستخدمه؟

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

شخصيًا آيفون 12 مع أحدث نظام تشغيل iOS 17.4

يحدث هذا فقط للروابط الخارجية باستخدام وسم html a href ولكن حتى في هذه الحالة يحدث بشكل متقطع فقط؟

أود أن أعرف ما هي المشكلة التي تم إصلاحها - ربما يمكنني محاولة تشغيل شيء ما لتكرارها :confused:

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

كيف ترتبط تلك التقارير بالمشاكل المتعلقة بـ CSS في منتديات Discourse؟ الأول ينص صراحةً على:

لا يتأثر المنتدى بهذه المشكلة

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

يبدو أن هذا هو نفس السلوك - يحدث عند فتح موقع ويب خارجي من داخل discourse. على سبيل المثال، فتح https://discourse.org/ من meta.discourse.org.

إذًا، لا يبدو أن هذه مشكلة يسببها المنتدى، إذا كانت المواقع الخارجية تواجه مشاكل.

ظننت ذلك أيضًا، ولكن يبدو أن هذا يحدث فقط عند النقر من المنتدى، ولأنني وجدت منشورات أخرى، اعتقدت أنه ربما يمكن لشخص ما تسليط الضوء على هذا - قد تكون مشكلة في نظام iOS. كان الأمر أسهل لو لم يتم تحميل CSS في كل مرة وفقط في بعض الأحيان :sweat_smile:

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

@Lilly أتساءل عما إذا كان بإمكانك مشاركة كيفية تعامل discourse مع href وما إذا كانت هناك طريقة معينة لنظام iOS؟ يبدو أن هذه مشكلة متعلقة بـ Safari، ولكنها تحدث دائمًا من داخل discourse عند الانتقال إلى مجال آخر. هذا المجال الآخر لا يتم تحميله كما لو أن discourse يحاول تحميل محتوى الصفحة المطلوبة محليًا.

لقد جربنا بالفعل فرض سياسة عدم التخزين المؤقت واللعب بالبادئة www. لا يبدو أن أي شيء يعمل. إنها بالضبط المشاكل المذكورة هنا:

لقد قاموا بتحميل الموقع الرئيسي من community.URL.com الخاص بهم مما تسبب في نفس التحميل الجزئي للصفحة.

شكرا مقدما!

إنّ منتدياتنا هي نطاق فرعي (here.domain.com) لموقعنا الرئيسي (domain.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.

هل لديك أي أفكار حول سبب حدوث ذلك وكيف يمكن إصلاحه؟

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

هل هذه نفس المشكلة التي وصفتها هنا؟

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

نعم! يجب دمجه :sweat_smile:

أعتقد أننا نفهم الآن بشكل أفضل ما هو الخطأ.

إعجابَين (2)

أتساءل عما إذا كان لدى بعض أعضاء الفريق أي أفكار؟ @Lilly أعلم أننا ناقشنا هذا هنا قبل شهرين - ربما لديك رؤى إضافية لمشاركتها؟

أعتقد أنها نفس مشكلة موقع النقاش الذي شاركته في منشوري الأول.

لقد لاحظنا بعض المشكلات الغريبة كهذه. على حد علمنا، يجب أن يكون هناك خطأ في Safari/WebKit. يجب أن يكون من المستحيل حدوث هذا النوع من عرض “الموقع المختلط”. لقد قدمنا تقريرًا إلى WebKit. (مع النسخ @pmusaraj)

إذا تمكن أي شخص من إيجاد طريقة متسقة لإعادة إنتاج المشكلة، فمن المؤكد أن ذلك سيساعد في تحديد أولويات الخطأ.

6 إعجابات

أي أفكار لحل بديل للروابط الخارجية؟
كلاهما، HTML HREF و JS window.replace، يتصرفان بنفس الطريقة :frowning:
(أنا متأكد من أن الأمام/الخلف يكادان يكونان مستحيلين لتجاوزهما)

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

للأسف، ليس لدي أي أفكار لحل بديل. حاولت إلغاء تسجيل عاملي الخدمة تحسبًا لأن يكون ذلك هو السبب المتعارض، لكن ذلك لم يكن له أي تأثير.

حاليًا، تحولت إلى Safari Technology Preview محليًا. يبدو أنه لا توجد به المشكلة، مما قد يشير إلى أنه تم إصلاحها في إصدارات أحدث من Webkit. أو قد يعني ذلك أن متصفحًا جديدًا بذاكرة تخزين مؤقت جديدة لا توجد به المشاكل… من الصعب تحديد ذلك.

سنراقب هذا الأمر ونستمر في البحث عن حلول، تؤثر المشكلات على العديد من الأشخاص في فريق Discourse وعلى منصات مختلفة (macOS، iOS، تطبيق DiscourseHub). بخلاف العثور على حل سحري، فإن أفضل ما يمكننا القيام به هنا هو متابعة تقرير خطأ Webkit وإضافة معلومات إضافية هناك، إذا كانت ذات صلة/مفيدة.

إعجابَين (2)