فئة CSS محددة لا يتم تحديثها إلا عند الضغط على F5

مرحباً يا رفاق،

لدي هذا الـ CSS المحدد

body[class^="category-documentation"] {
        .topic-list .topic-list-header .posts,
        .topic-list .topic-list-header .views,
        .topic-list .topic-list-body .posts,
        .topic-list .topic-list-body .views,
        .topic-list .topic-list-body .posters,
        .topic-list .topic-list-header .posters
        {
            display: none !important;
        }

        .topic-list .topic-list-body .main-link,
        .topic-list .topic-list-header .topic-list-data
        {
            width: 90% !important;
        }

        .topic-list .topic-list-header .activity, .full-width .contents .topic-list .topic-list-body .activity {
            width: 10% !important;
        }

        .topic-list .topic-excerpt {
            display: none !important;
        }
    }

هذا يعمل بشكل رائع لإخفاء الكثير من العناصر في فئة “الوثائق” (نعم، أعرف أن هناك إضافة للوثائق، لكنني أجد التخطيط الأصلي أفضل). مشكلتي هي عندما أنقر من “Ford” مثلاً إلى “Documentation”، لا يتم تحديث الـ CSS وبالتالي لا يتم إخفاء الأشياء الخاصة بي إلا إذا قمت بتحديث الصفحة بأكملها باستخدام f5 / ctrl + R.

هل هناك شيء فاتني للسماح لهذا بالعمل؟
ينطبق الشيء نفسه في الاتجاه المعاكس أيضًا.
يمكنك زيارة أي فئة على https://community.cyanlabs.net ثم الانتقال إلى الوثائق وسترى عناصر الـ CSS المخفية لا تزال تظهر.

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

يبدو أنك تستخدم سمة Air، والتي تتضمن مكون سمة شريط تمرير تحميل Discourse.

إذا قمت بتعطيل هذا المكون من admin > customize > themes > components، ثم حاولت مرة أخرى… هل يغير ذلك أي شيء؟ في بعض الأحيان يمكن أن يتسبب هذا المكون في مشكلة حيث تبقى الفئات بين الصفحات حتى تقوم بتحديث.

4 إعجابات

شكرا لردك،

لقد اختبرت هذا للتو وللأسف لم يحدث أي فرق في هذه الحالة.

إذا لم يكن هناك شيء بسيط، فسأتحقق من فئة الجسم باستخدام api.onPageChange() ولكن يبدو الأمر غريبًا بعض الشيء.

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

حسنًا… بالنظر عن كثب، يبدو أن هناك فئة ديناميكية يضيفها قالب إلى علامة body مثل category-documentation-21 و category-ford-5… عند الانتقال بين الصفحات، لا يبدو أن هذه الفئات تتم إزالتها بشكل صحيح.

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

تعديل، أفهم ما تقصده الآن، إنه يحتفظ بهذا الكلاس في عنصر الجسم لسبب ما :thinking:

تعديل2: لقد قمت بعمل نسخة من السمة بدون مكونات، ولا تزال نفس المشكلة قائمة، لذا يجب أن تكون في إضافة أو نواة.

جائزة الحل الأكثر تعقيدًا تذهب إليّ :smiley:

<script type="text/discourse-plugin" version="0.8.19">
  api.onPageChange((url) => {
        if (url.indexOf("/c/documentation/") >= 0) {
            $("<style id='documentationworkaround'>.topic-list .topic-list-body .posters,.topic-list .topic-list-body .posts,.topic-list .topic-list-body .views,.topic-list .topic-list-header .posters,.topic-list .topic-list-header .posts,.topic-list .topic-list-header .views{display:none!important}.topic-list .topic-list-body .main-link,.topic-list .topic-list-header .topic-list-data{width:90%!important}.full-width .contents .topic-list .topic-list-body .activity,.topic-list .topic-list-header .activity{width:10%!important}.topic-list .topic-excerpt{display:none!important}</style>").appendTo( "head" )
        } else {
            $("#documentationworkaround").remove();
        }

    });
</script>

ولكن نعم، إذا كان أي شخص يعرف ما الذي يسبب ذلك، فيرجى إخباري :slight_smile:

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

يبدو أن هذه مشكلة في النواة، لذا أقوم بإعادة تصنيفها.

لإعادة إنتاج المشكلة:

  1. قم بزيارة فئة مثل Support - Discourse Meta
  2. قم بتحديث الصفحة
  3. قم بالتبديل إلى فئة أخرى
  4. ألقِ نظرة على الفئات الموجودة في علامة الجسم، تظل الفئة السابقة موجودة

Screen Shot 2022-05-10 at 2.31.33 PM

يبدو أنها تُضاف من جانب الخادم، وقد ساعدني مهندس في استكشاف الأخطاء وإصلاحها ويبدو أنها تأتي تحديدًا من:

3 إعجابات

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

سنقوم بتحديث هذا الموضوع عند إصلاحه (أو أي شيء آخر متعلق به). إذا قمت بتغيير مستوى التتبع الخاص بك إلى “متابعة” في القائمة المنسدلة أسفل الموضوع، فستتلقى إشعارات بالمنشورات الجديدة.

مثالي، لم أكن أعرف ما إذا كانت هناك مشكلة على جيت هاب أو أي شيء آخر، وأنا أتابع هذا الموضوع بالفعل لذا سأظل على اطلاع دائم.

شكراً جزيلاً مرة أخرى على مساعدتك.

يجب إصلاح هذا في هذا الالتزام، لذلك في المرة القادمة التي تقوم فيها بتحديث Discourse، يجب إضافة/إزالة فئات الفئات كما هو متوقع.

4 إعجابات

شكرًا، تم تحديث الفئات بشكل صحيح الآن ولكن CSS لا يزال غير مطبق عند التبديل بين الفئات

body[class^="category-documentation"] {
        .topic-list .topic-excerpt, .topic-list .topic-list-body .posts, .topic-list .topic-list-header .posts {
            display: none !important
        }
    }

تحرك بين الفئات، لن يعمل بشكل صحيح.

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

أوه هممم، هذا غير متوقع… هل تمت إضافة هذا الـ CSS باستخدام JS؟

لا، فقط قم بتخطيط CSS في ملفات common أو desktop.css، لقد جربت كليهما.

آه حسناً، لقد أدركت للتو… class^= يتحقق من بداية الفئة، والفئة ليست دائماً الفئة الأولى في القائمة.

إذا قمت بالتحديث إلى body[class*="category-documentation"] فيجب أن يعمل، هذا يتحقق من اسم الفئة في أي مكان يظهر في القائمة.

5 إعجابات

هذا + الإصلاح الأساسي يبدو أنه يعمل. شكرًا

3 إعجابات