네, 해당 설정의 체크를 해제하는 것은 권장되지 않습니다. CSP(콘텐츠 보안 정책)는 매우 중요한 이유로 기본적으로 활성화되어 있습니다. CSP에 의해 일반적으로 차단되는 특정 스크립트를 허용해야 하는 경우, 사이트의 content_security_policy_script_src 설정에 해당 스크립트를 추가하면 문제없이 작동합니다. 이 주제에 대해 더 자세히 알고 싶다면 다음 링크를 참고하세요.
해당 설정이 기본적으로 해제된 상태로 제공되지 않나요?
아니요, 그 설정은 이미 꽤 오래전부터 기본적으로 활성화되어 있습니다.
이상하네요. 저희 사이트는 1월에 존재하지도 않았는데, 기본값이 체크되어 있지 않네요.
조, 감사합니다.
트위터 타임라인 스크립트를 화이트리스트에 추가했더니 CSP 옵션이 활성화된 상태에서도 이제 정상적으로 작동합니다.
트위터 타임라인의 배경색을 포럼 배경색과 일치하도록 변경할 수 있나요?
iFrame 안에 있기 때문에 단순히 CSS를 추가하는 것만으로는 쉽게 변경할 수 없습니다. stackexchange에 다양한 제안이 있지만, 어떤 것이 실제로 작동하는지는 확실하지 않습니다. 예를 들어 다음과 같습니다.
discourse의 지연 로딩(lazy loading, 용어가 정확하지 않다면 죄송합니다) 때문에, 어떤 JS 솔루션도 다음이 필요할 것으로 생각합니다.
<script type="text/discourse-plugin" version="0.8">
api.onPageChange(() => {
Do Stuff Here
});
</script>
안녕하세요,
프로덕션 환경에 Twitter 사이드바를 설치한 후 대시보드에서 "Signups"나 개별 리포트를 불러오지 못하는 문제가 발생하고 있습니다. 로딩만 계속 진행되고 실제로는 로드되지 않습니다. Discourse 버전은 최근 업그레이드한 2.4.1입니다. Twitter 사이드바 컴포넌트를 제거하면 정상적으로 작동합니다. 이런 현상이 발생하는 이유에 대해 혹시 아이디어가 있으신가요?
감사합니다
보안 정책 설정이 당신과 동일합니다. 그런데 왜인지 트위터 사이드바를 제거하면 보고서가 작동하기 시작합니다.
죄송합니다. 사이트 보고와 관련된 충돌 문제를 어떻게 해결해야 할지 정말로 감이 잡히지 않습니다.
오류는 TypeError: document.getElementById(…) is null입니다
아마도 #sidebar div가 모든 페이지에 삽입되지 않는 것 같습니다?
요소가 null이 아닌지 올바르게 확인하면 수정할 수 있습니다.
api.onPageChange(() => {
if (Discourse.User.current() !== null){
var sb = document.getElementById("sidebar")
if (sb) {
sb.style.display = "block";
}
}
});
api.onPageChange(() => {
var is_iPad = navigator.userAgent.match(/iPad/i) != null;
if(is_iPad) {
var sb = document.getElementById("sidebar")
if (sb) {
sb.style.display = "none";
}
}
});
사이드바에 있는 것처럼 트위터 피드를 임베드하는 방법을 도와줄 수 있는 사람이 있을까요?
저는 이 아이디어에 전적으로 동의합니다. 커뮤니티의 트위터 중독을 성공적으로 해결해 본 분이 계신가요?

