ハンバーガーセクションにHTMLコードを追加する方法を教えてください

皆さん、こんにちは。

お元気でしょうか。

こちらが私のコードです。ご確認ください。

<script>
    $.getJSON("https://forum.example.com/directory_items.json?order=likes_received&period=monthly", function(data, status) {

        var base_url = window.location.origin;
        z0 = base_url + data.directory_items[0].user.avatar_template.replace("{size}", "24");
        z1 = base_url + data.directory_items[1].user.avatar_template.replace("{size}", "24");
        z2 = base_url + data.directory_items[2].user.avatar_template.replace("{size}", "24");
        z3 = base_url + data.directory_items[3].user.avatar_template.replace("{size}", "24");
        z4 = base_url + data.directory_items[4].user.avatar_template.replace("{size}", "24");
        z5 = base_url + data.directory_items[5].user.avatar_template.replace("{size}", "24");
        leader_body = '<h1>Leader Board</h1><br><img class="learder_rounded" src="' + z0 + '"><b>' + data.directory_items[0].user.username + '</b><br><img class="learder_rounded" src="' + z1 + '"><b>' + data.directory_items[1].user.username + '</b><br><img class="learder_rounded" src="' + z2 + '"><b>' + data.directory_items[2].user.username + '</b><br><img class="learder_rounded" src="' + z3 + '"><b>' + data.directory_items[3].user.username + '</b><br><img class="learder_rounded" src="' + z4 + '"><b>' + data.directory_items[4].user.username + '</b><br><img class="learder_rounded" src="' + z5 + '"><b>' + data.directory_items[5].user.username + '</b>';
        console.log(leader_body);
        $(".menu-container-footer-links").append(leader_body);

    });
</script>

ハンバーガーセクションに、私の HTML コード(リーダーボード)を追加したいと考えています。

しかし、このコードは正常に動作していません。

画像をご覧ください。上記のコードは、ハンバーガーメニューを開いてページをリロードしたときにのみ、ハンバーガーセクションに結果を表示します。閉じて再度開くと表示されなくなってしまいます。修正方法を教えてください。

Discourse は初心者です。プログラミングも初心者です :innocent:

よろしくお願いいたします。:pray:

「いいね!」 1

ハンドルバーコネクタapi.onPageChange について学ぶ必要があると思います。

<script type="text/x-handlebars" data-template-name="/connectors/abc/xyz">
    {{mount-widget widget = "xyz"}}
</script>
api.onPageChange ((url, title) => {
});

簡単な方法は、トピックテンプレートを参照することです。

decorateWidget

https://github.com/hnb-ku/discourse-custom-hamburger-links/blob/master/common/header.html

「いいね!」 6

Bcat ありがとうございます。確かに、あなたが挙げたすべてを学び、ここで解決策を投稿します。

「いいね!」 2