كيفية تشغيل الكود بعد عرض الصفحة

أريد إزالة الأقواس من span.category-topics--posts-count (يتم عرضه بواسطة GitHub - discourse/discourse-right-sidebar-blocks). أحاول استدعاء api.onPageChange() هذا، ولكنه لا يحصل على أي countSpans، أعتقد لأنه يعمل قبل أن يقوم مكون السمة الآخر بوضعها على الصفحة.

ماذا يمكنني أن أفعل؟ :crying_cat:


  api.onPageChange(() => {
    console.log("page changed");

    const countSpans = document.querySelectorAll(
      "span.category-topics--posts-count"
    );
    console.log("spans", countSpans);
    countSpans.forEach((span) => {
      const currentText = span.textContent.trim();
      const newText = currentText.replace(/[()]/g, "");
      span.textContent = newText;
      const number = parseInt(newText);
      if (isNaN(number)) {
        span.style.padding = "0px";
      } else if (number < 10) {
        span.style.padding = "0px";
      } else {
        span.style.padding = "0px 3px";
      }
    });
  });
});
إعجابَين (2)

لا أعتقد أن ذلك سينجح.

يجب أن تقوم بتنفيذ هذه الأمور عبر CSS أو داخل حلقة تشغيل Ember.

ما الذي يمنعك من Fork ذلك المكون وتخصيصه وفقًا لذوقك تحت اسم مختلف، وتحميل مكون Theme منفصل ثم إضافته بالاسم في RSB؟

إعجابَين (2)

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

شكرا

4 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 30 يومًا من آخر رد. لم يعد يُسمح بالردود الجديدة.