gar1t
(Garrett)
1
我正尝试从一个自定义组件访问 API,在 HTML 主体中使用了以下代码片段:
<script type="text/discourse-plugin" version="0.8">
console.log("###########", api.getCurrentUser());
</script>
但是,此代码片段并未出现在页面 HTML 中。
这里正确的方法是什么?
顺便说一句,这是几年前提出的同一个问题,但没有得到解答:
你好,Garrett!
如果你将这段代码放入你的主题组件的 Head 标签中,
你应该能够在浏览器的 控制台 中看到输出(这里不会显示任何 HTML):

学习主题组件的实用指南(还有 Customization > Theme component 标签):+1:
gar1t
(Garrett)
3
谢谢。我把这段代码放在了 body 部分。
令我惊讶的是,head 的行为在这里有所不同。看起来 Discourse 会从 body 部分移除这些 api 代码片段。其他脚本元素则保留在那里。