ユーザーがページを移動するたびにJavaScript関数を呼び出したいと考えています。
JavaScriptとRuby on Railsのコードは理解していますが、Discourseでこれを実現するベストプラクティスがわかりません。ヒントをいただければ幸いです。
追伸:Docker版のDiscourseを使用しています。
ユーザーがページを移動するたびにJavaScript関数を呼び出したいと考えています。
JavaScriptとRuby on Railsのコードは理解していますが、Discourseでこれを実現するベストプラクティスがわかりません。ヒントをいただければ幸いです。
追伸:Docker版のDiscourseを使用しています。
やりたいことによりますが、非常に多様な方法があります。関数を呼び出したり、ユーザーがページを変更するたびに何らかの処理を実行したい場合は、プラグイン API を使用できます。
以下で、Discourse のテーマ化やコンポーネント(カスタム JS など)を使用するための開発者ガイドを読むことができます。
また、withPluginApi に関する情報も確認できます。
これは、現在の URL とページタイトルをログ出力するシンプルな例です。
これは common/head_tag.html ファイルで行っています。このファイルは /admin/customize/themes/9/common/head_tag/edit で編集できます。
<script type="text/discourse-plugin" version="0.8">
api.onPageChange((url, title) => {
console.log(url, title);
});
</script>
返信ありがとうございます、@jordan.vidrine。これらのリソースを確認します。もう一つ質問があるのですが、Docker 版に関連するかもしれません。コンテナ内のファイルを編集する際のベストプラクティスは何でしょうか?コンテナに直接「入って」ファイルを修正し、再起動しても問題ないでしょうか?
一部のインスタンスでは、それが機能すると思います。(Docker の経験はあまりありません)
また、サイトを /admin/customize/themes/9/common/head_tag/edit で訪問する際、Discourse 管理パネルから特定の css や html ファイル、および <script> タグを編集することもできます。