サイト制御とサイトルール
ブラック/ホワイトリストと、URL、selector、レイアウト、しきい値、CSS を扱う per-site JSON ルールを説明します。
| 機能 | 場所 | 目的 |
|---|---|---|
| サイト制御 | 設定 → 一般 | ホスト単位で拡張機能全体を許可/拒否します。 |
| サイトルール | 設定 → サイトルール | 一致ページの解析、配置、除外、CSS を変更します。 |
一般のサイト制御は権限ポリシー向けです。実行はできるがノード選択、インライン配置、コード除外などが誤る場合にサイトルールを使います。
サイト制御と URL pattern
ブラックリストは一覧以外、ホワイトリストは一覧だけで動作します。example.com はサブドメインも含みますが、パスやワイルドカードは使えません。
サイトルールは次の pattern を扱い、query string を無視します。
| Pattern | 一致範囲 |
|---|---|
github.com | HTTP/HTTPS のホスト |
*.example.com | ルートとサブドメイン |
docs.example.com/guides/* | 指定パス |
https://example.com/* | HTTPS のみ |
www.amazon.* | 複数 TLD の一致ホスト |
javdb*.com | javdb に続く文字を含むホスト |
scheme は http、https、*。明示ポートは不可です。除外には excludeMatches を使います。
優先順位とマージ
一致して有効な組み込みルールを先に、ユーザールールを後に適用します。組み込みは ID で無効にできます。
- selector 配列は base、
.add、.removeの順に処理します。 minCharactersとminWordsは最後の値が優先されます。injectedCssとinjectedCss.addは順に連結されます。- 不正な pattern/selector は警告され、実行されません。
配列は単純置換ではありません。前の selector を戻すには .remove、追加には .add を使います。
フィールドと例
各ルールには一意の id と matches が必要です。excludeSelectors、includeSelectors、forceBlockSelectors、forceInlineSelectors、preserveTextSelectors、minCharacters、minWords、injectedCss を利用できます。
[
{
"id": "example-docs",
"description": "Translate article copy but leave navigation and code untouched.",
"matches": ["docs.example.com/*"],
"excludeSelectors": ["nav", "pre", "code", "[aria-label='Breadcrumb']"],
"includeSelectors": ["main article"],
"forceBlockSelectors": ["article p", "article li"],
"preserveTextSelectors": [".product-name", ".command-name"],
"minCharacters": 2,
"minWords": 1,
"injectedCss": ".read-frog-translated-content-wrapper { max-width: 100%; }"
}
]狭いホストで保存・再読み込みしてから pattern を広げます。生成 class より安定した属性を選びます。
[
{
"id": "example-docs-adjustment",
"matches": ["docs.example.com/*"],
"excludeSelectors.add": [".sidebar-ad"],
"excludeSelectors.remove": [".article-summary"],
"forceInlineSelectors.add": [".term-with-tooltip"]
}
]エディターは JSON、schema、重複 ID、selector、pattern、サイズを検証します。上限はユーザールール 200 件、JSON 65,536 文字、各 CSS 8,192 文字です。
CSS は一致する全ページに挿入されます。pattern を限定し、ログイン、セキュリティ、アカウント UI を隠さないでください。
