Wie man das eingehende E-Mail-Modal deaktiviert

Hallo kynic,

onPageChange ist möglicherweise zu allgemein für die Verwendung (und unzuverlässig, wenn Sie Beiträge laden/aktualisieren).
Sie können stattdessen decorateCookedElement verwenden. Es wird für jedes “cooked” Element aufgerufen.

Zusätzlich gibt es hier eine Möglichkeit, den E-Mail-Indikator zu deaktivieren. Es ist nur ein Hack, um das HTML nicht einzuschließen. Wenn Sie neugierig sind, können Sie den Originalcode hier einsehen.

<script type="text/discourse-plugin" version="0.8">
    api.reopenWidget("post-meta-data", {
        html(attrs) {
            if (!attrs.via_email) {
                return this._super(attrs);
            }
          
            // "post-email-indicator" Widget nicht generieren.
            attrs.via_email = false;
            const html = this._super(attrs);
            attrs.via_email = true;
          
            return html;
        }
    })

    api.decorateCookedElement((element, helper) => {
        if (helper?.getModel().via_email) {
            element.querySelector('details.elided').remove();
        }
        
    }, { onlyStream: true });
</script>

Sie könnten auch nur CSS verwenden, um sie auszublenden.

.post-info.via-email,
.cooked details.elided {
    display: none;
}