Read Frog

サイト制御とサイトルール

ブラック/ホワイトリストと、URL、selector、レイアウト、しきい値、CSS を扱う per-site JSON ルールを説明します。

機能場所目的
サイト制御設定 → 一般ホスト単位で拡張機能全体を許可/拒否します。
サイトルール設定 → サイトルール一致ページの解析、配置、除外、CSS を変更します。

一般のサイト制御は権限ポリシー向けです。実行はできるがノード選択、インライン配置、コード除外などが誤る場合にサイトルールを使います。

サイト制御と URL pattern

ブラックリストは一覧以外、ホワイトリストは一覧だけで動作します。example.com はサブドメインも含みますが、パスやワイルドカードは使えません。

サイトルールは次の pattern を扱い、query string を無視します。

Pattern一致範囲
github.comHTTP/HTTPS のホスト
*.example.comルートとサブドメイン
docs.example.com/guides/*指定パス
https://example.com/*HTTPS のみ
www.amazon.*複数 TLD の一致ホスト
javdb*.comjavdb に続く文字を含むホスト

scheme は httphttps*。明示ポートは不可です。除外には excludeMatches を使います。

優先順位とマージ

一致して有効な組み込みルールを先に、ユーザールールを後に適用します。組み込みは ID で無効にできます。

  • selector 配列は base、.add.remove の順に処理します。
  • minCharactersminWords は最後の値が優先されます。
  • injectedCssinjectedCss.add は順に連結されます。
  • 不正な pattern/selector は警告され、実行されません。

配列は単純置換ではありません。前の selector を戻すには .remove、追加には .add を使います。

フィールドと例

各ルールには一意の idmatches が必要です。excludeSelectorsincludeSelectorsforceBlockSelectorsforceInlineSelectorspreserveTextSelectorsminCharactersminWordsinjectedCss を利用できます。

[
  {
    "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 を隠さないでください。

On this page