scriptタグのリファレンス:すべての属性と設定元
ローダータグのdata-rc属性、window.ReactiveChatSettings、ReactiveChat('boot')の完全なリファレンス。型、既定値、優先順位、ページ内の他の要素に付ける属性を説明します。
ウィジェットは、インラインスクリプトなしで、scriptタグの属性だけで完全に設定できます。そのため、厳格なContent Security Policyでも動作します。JavaScriptを使いたい場合は、window.ReactiveChatSettingsまたはReactiveChat('boot', …)で同じフィールドを設定します。
デザイン、テキスト、ホーム画面、ルール、ツアーは通常、アカウントで設定し、接続時にサーバーから取得します。ここの属性は、ページごとに適用する設定です。デザインの全項目は、カスタマイズで説明しています。
4つの設定元と優先順位
後の設定元を優先します。マージは浅いマージです(brandなどのオブジェクト型のフィールドは、内部をマージせず、全体を置き換えます)。
- ウィジェットの既定値
- ローダータグの
data-rc-*属性 window.ReactiveChatSettings(ローダーより前に設定)- キュー内の
ReactiveChat('boot', {...})呼び出し(キューの順序)
ウィジェットが知らないフィールドは破棄します。そのため、属性名を間違えても通知はなく、効果がありません。
<script>
window.ReactiveChatSettings = { locale: 'en', position: 'left' };
</script>
<script src="https://cdn.reactive.chat/loader.js"
data-rc-site-key="SITE_KEY"
async></script>
属性値の読み取り方
名前をkebab-caseからcamelCaseに変換します。data-rc-site-key → siteKey。型は既定値に従います。
- 文字列 – そのまま使用します。
- 真偽値 –
"false"と"0"だけがfalseです。空の属性を含め、それ以外はすべてtrueです。 - リスト – カンマ区切りです。例:
"idle,pointer"。 - 数値またはオブジェクト – JSONとして読みます。無効なJSONなら既定値を保持します。
読み取るのは、実行中のタグだけです(document.currentScript)。そのため、type="module"ではなく通常のスクリプトとして埋め込んでください。
必須項目
- data-rc-site-key(文字列、必須) – アカウントのプロジェクト → インストールにあるプロジェクトのキー。パターンは
[A-Za-z0-9_-]{8,64}です。ないか無効な場合は何も起動せず、コンソールにも何も表示しません。
接続と配信
- data-rc-ws-url(文字列、任意) – チャットの接続先。省略時は
loader.jsの場所から導きます(cdn.reactive.chat→wss://ws.reactive.chat/rc_wss/)。cdn.reactive.chat以外からloader.jsを読み込む場合や、.co.ukなど末尾が2つの部分から成るドメインでは必須です。通信を参照してください。 - data-rc-cdn-base(文字列、任意) – コアとモジュールを読み込むディレクトリ。既定は
loader.jsのディレクトリです。 - data-rc-core-url(文字列、任意) – 同じディレクトリの
core.<hash>.jsの代わりに使う、コアの固定アドレス。独自のミラーなど、特別な場合のみ使用します。 - data-rc-transport(
http、任意) – 最初からHTTPフォールバックを強制します。起動時にドキュメント内にある任意の要素で機能します。代わりにReactiveChatSettings.transport = 'http'も使えます。boot経由では効果がありません。 - data-rc-max-retries(数値、既定
2) – コアを読み込めない場合の再試行回数(間隔は300 ms×試行回数)。
言語、テーマ、動き
- data-rc-locale(文字列、既定
auto) –de、en、pl。autoでは<html lang>、次にブラウザーの言語、それ以外は英語を使います。他の言語も英語に戻ります。 - data-rc-theme(
auto|light|dark、既定auto) –autoはページのライト/ダークに合わせ、それがなければシステムに合わせます。 - data-rc-motion(
auto|reduced|full、既定auto) – アニメーション。autoはprefers-reduced-motionに従います。 - data-rc-strings(JSONオブジェクト、既定
{}) – 個別のテキストを上書きします。例:{"a11y.launcher":"Open help"}。それ以外はアカウントで管理します(カスタマイズ)。
表示と位置
- data-rc-position(
right|left、既定right) – チャットボタンとウィンドウを置く隅。 - data-rc-offset(JSON、既定
{"x":20,"y":20}) – セーフエリアに加えた、端からの距離(ピクセル)。 - data-rc-z-index(数値、既定
2147483000)。 - data-rc-avoid-overlap(真偽値、既定
true) – 下端の固定バー(Cookieバナー、カートバー)を避けます。 - data-rc-hide-launcher(真偽値、既定
false) – チャットアイコンを表示しません。独自リンクまたはJavaScript APIでのみ開けます。吹き出しも抑制します。アカウントの設定に関係なく適用します。 - data-rc-auto-open(真偽値、既定
false) – 起動後にウィンドウを開きます。 - data-rc-isolation(
shadow|iframe、既定shadow) – ウィジェットは閉じたshadow DOM内に置きます。iframeは、グローバルスタイルの影響が非常に強いページ向けに、ウィンドウをフレーム内に描画します。 - data-rc-brand(JSONオブジェクト) – ブランドの色とチャットボタンの形。ローダーは直ちに
primary(#rrggbb)、onPrimary、radius、launcher.shape(circle、rounded、square、bubble、leaf)、launcher.size(44~72)、launcher.size_mを読み取り、残りはコアが確認します。アカウントのスニペットには、これらが含まれています。有効なprimaryがなければ、仮のボタンを表示せず、サーバーから色が届くまで待ちます(色は変わりませんが、ボタンの表示が遅れます)。初期フィールドだけなら接続後にアカウントのブランド設定を適用し、追加フィールド(accentなど)があれば、指定した設定を適用します。詳しくはカスタマイズをご覧ください。 - data-rc-logo(JSONオブジェクト) –
src、placement(launcher、header、both)、height、alt。 - data-rc-custom-css(文字列) – shadow DOM内の独自CSS。カスタマイズ参照。
読み込みと動作
- data-rc-load-triggers(リスト、既定は5つすべて) – コアを読み込む条件:
idle(ブラウザーがアイドル)、pointer(マウスや指がボタン上)、command(boot、update、track、identify以外のAPIコマンド)、frustration(MousePlayerのシグナル)、push。最初に起きたトリガーを使います。 - data-rc-idle-timeout-ms(数値、既定
3000) –idleトリガーのタイムアウト。 - data-rc-consent(
auto|granted|denied、既定auto) – 同意状態。autoは同意管理プラットフォームに問い合わせます(__tcfapi経由のIAB TCF v2、なければconsented.eu)。granted/deniedは固定します。プライバシーの連携参照。 - data-rc-dom-spiegel(真偽値、既定
true) –falseではページテキストをアシスタントに送らず、「見せてください」も無効にします。 - data-rc-promo(真偽値、既定
true) –falseでは、このページのプロモーションカードを非表示にします。 - data-rc-launcher-selector(CSSセレクター) – 一致する要素のクリックでウィンドウを切り替えます。コアの読み込み後のみ機能します。すぐに動作するリンクには、下記の
data-rc-openを使います。 - data-rc-dnd(真偽値、既定
false) – 「通知しない」の初期値。 - data-rc-session-ttl-ms(数値、既定
1800000) – MousePlayerのセッションを引き継ぐ期間。 - data-rc-debug(真偽値、既定
false) – コンソールへの診断出力。ブラウザーでlocalStorage.setItem('rc_debug', '1')を使うのと同じです。
ページ内の他の要素の属性
チャットを開く(コアの読み込み前でもすぐに機能):
- data-rc-open – 任意の要素に指定。クリックで要素の横にチャットを開きます。
data-rc-open="corner"では隅に開きます。 - href="#rc-open"またはhref="#reactive-chat" – リンク用の同じ機能。
- data-rc-anchor="none" –
cornerと同じ。 - data-rc-message – 入力欄に入れるが、送信はしないテキスト(最大200文字)。
- data-rc-tab –
msg、home、help。前面に出すタブ。
プライバシーテキスト:
- data-rc-privacy – プライバシーポリシー内のreactive.chatについての節を表示する場所。
data-lang、data-heading(2~6)、data-emailを付けられます。状態はdata-rc-privacy-state(loading、done、error)に入ります。プライバシーの連携参照。
ページテキストの除外:
- data-rc-privateまたは同等のdata-rc-ignore – このサブツリーは、ページテキストとしてアシスタントに送られず、「見せてください」の対象にもなりません。
<aside data-rc-private>
Internal notes the assistant should not read.
</aside>
URLパラメーター
- ?rc_ab=A~E – 品質確認のため、実行中のA/Bテストのバリアントを強制します(カスタマイズ参照)。
読み込み時に、アドレスの他のパラメーターは評価しません。
複数回の埋め込み
テンプレートとタグマネージャーの両方などでローダーが2つある場合、有効なサイトキーを持つ最初のものだけが起動し、2つ目は何もしません。最初のキーが無効でも、正しい2つ目のタグの起動を妨げません。
次:JavaScript API · イベント
最終更新: