So führen Sie Code aus, nachdem die Seite gerendert wurde

Ich möchte die Klammern aus span.category-topics--posts-count entfernen (gerendert von GitHub - discourse/discourse-right-sidebar-blocks). Ich versuche diesen api.onPageChange()-Aufruf, aber er erfasst keine countSpans, wahrscheinlich weil er ausgeführt wird, bevor die andere Themenkomponente sie auf die Seite gesetzt hat.

Was kann ich tun? :crying_cat:


  api.onPageChange(() => {
    console.log("Seite geändert");

    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 „Gefällt mir“

Ich glaube nicht, dass das funktionieren wird.

Du musst diese Dinge entweder über CSS oder innerhalb der Ember-Laufzeit durchführen.

Was hindert dich daran, diese Komponente zu forken und sie nach deinem Geschmack unter einem anderen Namen anzupassen, eine separate Theme-Komponente zu laden und sie dann im RSB per Namen hinzuzufügen?

2 „Gefällt mir“

Hauptsächlich Faulheit. Und als ich anfing, sollte es nur ein kleines CSS sein, das wahrscheinlich statisch sein würde und sie den Fork nicht pflegen müssten, aber ja, es ist jetzt offensichtlich albern, es nicht zu forken.

Danke

4 „Gefällt mir“

Dieses Thema wurde 30 Tage nach der letzten Antwort automatisch geschlossen. Neue Antworten sind nicht mehr zulässig.