根据您的需求,这可能会有很大差异。但若要调用函数或在用户每次切换页面时执行某些操作,您可以使用插件 API。
您可以在此阅读 Discourse 主题/组件(自定义 JavaScript 等)开发者指南。
您还可以在此找到 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>