안녕하세요, 익명 사용자에게 투표 결과를 숨기는 방법이 있을까요? 시험 문제 풀이에 대한 포럼을 만들고 있는데, 사용자가 질문에 대한 답을 선택할 수 있도록 하려고 합니다. 회원들이 다른 사람들의 답을 보기 위해 엉터리 답을 고르는 것은 원치 않지만, 익명 사용자에게도 결과를 보여주고 싶지 않습니다.
한 가지만 더, 익명 사용자의 답글도 숨길 수 있는 방법을 찾아보고 싶었는데 아무것도 찾지 못했습니다. 그런 기능이 존재합니까?
안녕하세요, 방금 해결 방법을 찾았습니다. 시도해 보고 싶으시다면, 테마 컴포넌트를 생성하고 아래 코드를 head에 추가하세요.
<script type="text/discourse-plugin" version="0.8">api.onPageChange(() => {
if (!Discourse.User.current()) {
const pollContainers = document.querySelectorAll('.poll');
pollContainers.forEach(poll => {
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.type === 'childList') {
const resultsButton = poll.querySelector('.toggle-results');
if (resultsButton) {
resultsButton.remove();
}
}
});
});
observer.observe(poll, { attributes: false, childList: true, subtree: true });
// Remove existing buttons if present
const existingButton = poll.querySelector('.toggle-results');
if (existingButton) {
existingButton.remove();
}
});
}
});
</script>
이렇게 하면 누군가가 투표할 때 “결과” 버튼이 표시되는 것도 방지할 수 있습니다.