FastComments.com

자동 감지 Internal Link

기본적으로 FastComments는 색상 원의 "검정색으로부터의 거리"를 기반으로 사이트의 배경이 어두운지 자동으로 감지합니다.

우리 제품은 이를 최선을 다해 수행하지만, 색상 휠에는 거의 무한한 색상이 있으며 애플리케이션이 적절하지 않을 때 다크 모드를 사용하도록 선택하거나 그 반대의 시나리오가 있을 수 있습니다. 이 문서는 이를 더 세밀하게 제어하는 방법을 다룹니다.

기술적 세부사항

위젯이 처음 로드될 때 댓글 위젯에서 위쪽으로 페이지의 요소를 순회하여 어두운 배경을 찾아 다크 모드를 감지합니다.

이 단계 이후에 다크 모드를 전환하려면 위젯을 호출하여 구성을 업데이트해야 합니다. 이는 수동 구성 섹션에서 다룹니다.

워드프레스 Networker 테마 다크 모드 지원 Internal Link

WordPress Networker 테마의 경우, 다크 모드를 자동 감지하고 댓글 위젯을 업데이트하기 위해 WordPress 설치에 사용자 정의 코드를 추가해야 합니다.

코드는 사이트의 푸터에 삽입해야 합니다. 이를 수행할 수 있는 플러그인이 많으므로 여기에 나열하지 않겠습니다. 그러나 추가할 코드는 다음과 같습니다:

Networker Theme Dark Mode Support Script
Copy Copy
1
2(function () {
3 let isDarkMode = false;
4
5 function setIsDarkMode(newValue) {
6 isDarkMode = newValue;
7 for (const instance of window.fcUIInstances) {
8 if (instance.targetElement) {
9 const config = instance.config;
10 config.hasDarkBackground = isDarkMode;
11 instance.instance.update(config)
12 }
13 }
14 }
15
16 function getDarkModeSetting() {
17 return document.body.attributes['data-scheme'].value === 'dark';
18 }
19 let initialValue = getDarkModeSetting();
20 if (isDarkMode !== initialValue) {
21 setIsDarkMode(initialValue);
22 }
23 const observer = new MutationObserver(function (mutations) {
24 mutations.forEach(function (mutation) {
25 if (mutation.type === "attributes") {
26 const newValue = getDarkModeSetting();
27 if (isDarkMode !== newValue) {
28 setIsDarkMode(newValue);
29 }
30 return false;
31 }
32 });
33 });
34
35 observer.observe(document.body, {
36 attributes: true
37 });
38})();
39