<div id="after-header">内容</div>
<script type="text/discourse-plugin" version="0.8">
api.onPageChange(() => {
let currentUser = api.getCurrentUser();
var groups = currentUser.groups;
const isInGroup1 = groups.some(g => g.name === 'group1');
const isInGroup2 = groups.some(g => g.name === 'group2');
const isInGroup3 = groups.some(g => g.name === 'group3');
if (isInGroup1) {
$("#after-header").addClass("group1");
}
if (isInGroup2) {
$("#after-header").addClass("group2");
}
if (isInGroup3) {
$("#after-header").addClass("group3");
}
});
</script>
.button-a,
.button-b {
display: none;
}
#after-header.group1 .button-a {
display: block
}
#after-header.group2 .button-b {
display: block
}
如果你将
api.onPageChange(() => {
替换为
$( document ).ready(function() {
它似乎也能正常工作,这样脚本就不会在每页加载,但我始终不确定在哪些地方需要使用 api.onPageChange(() => {。