FastComments.com

自動検出 Internal Link

デフォルトでは、FastCommentsはカラーサークルの「黒からの距離」に基づいて、サイトの背景が暗いかどうかを自動的に検出します。

当社の製品はこれを最大限に行いますが、カラーホイールにはほぼ無限の色があり、アプリケーションが適切でない場合にダークモードを選択したり、その逆が起こるシナリオがある可能性があります。このドキュメントでは、これをより細かく制御する方法について説明します。

技術的な詳細

ウィジェットが最初にロードされるとき、コメントウィジェットから上方向にページ内の要素をトラバースして、暗い背景を探すことでダークモードを検出します。

このステップの後にダークモードを切り替えるには、ウィジェットを呼び出して設定を更新する必要があります。これは手動設定セクションで説明されています。

WordPress 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