ホストの権限とコンテンツ スクリプトのマッチングは、一致パターンで定義される一連の URL に基づきます。照合パターンは、基本的に、許可されたスキーム(http
、https
、file
、ftp
)で始まり、「*
」文字を含む URL です。特殊なパターン <all_urls>
は、許可されたスキームで始まるすべての URL に一致します。各一致パターンは次の 3 つの部分で構成されています。
スキーム -
http
、file
、*
など注:file
URL へのアクセスは自動的ではありません。ユーザーは、拡張機能の管理ページにアクセスし、リクエストする拡張機能ごとにfile
アクセスを有効にする必要があります。ホスト -
www.google.com
、*.google.com
、*
など。スキームがfile
の場合、ホスト部分はありません。パス -
/*
、/foo*
、/foo/bar
など。パスはホスト権限に存在する必要がありますが、常に/*
として扱われます。
基本的な構文は次のとおりです。
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
「*
」の意味は、スキーム、ホスト、パスの部分にあるかどうかによって異なります。スキーマが *
の場合、http
または https
と一致します。file
、ftp
、urn
とは一致しません。ホストが *
のみの場合は、任意のホストに一致します。ホストが *._hostname_
の場合、指定されたホストまたはその任意のサブドメインに一致します。[path] セクションの各「*
」は、0 個以上の文字に一致します。次の表に、有効なパターンを示します。
パターン | 機能 | 一致する URL の例 |
---|---|---|
http://*/* | http スキームを使用するすべての URL に一致します。 | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | パスが /foo で始まっていれば、どのホストでも http スキームを使用するすべての URL に一致します。 | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | https スキームを使用し、google.com ホスト(www.google.com、docs.google.com、google.com など)にある URL に一致します(パスが /foo で始まり、bar で終わっている場合)。 | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | 指定された URL に一致します。 | http://example.org/foo/bar.html |
file:///foo* | パスが /foo で始まるすべてのローカル ファイルに一致します。 | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | http スキームを使用し、ホスト 127.0.0.1 にあるすべての URL に一致します。 | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | http://mail.google.com または https://mail.google.com で始まる URL に一致します。 | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | urn: で始まる URL に一致します。 | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | 許可されたスキームを使用する URL に一致します。(許可されているスキームのリストについては、このセクションの冒頭をご覧ください)。 | http://example.org/foo/bar.html file:///bar/baz.html |
無効なパターン一致の例を次に示します。
不適切なパターン | 問題の原因 |
---|---|
http://www.google.com | パスなし |
http://*foo/bar | ホストの「*」の後に続く文字は「.」または「/」のみ |
http://foo.*.bar/baz | 「*」がホストにある場合は、最初の文字である必要があります。 |
http:/bar | スキームの区切り文字が欠落しています(「/」は「//」にする必要があります) |
foo://* | 無効なスキーム |
一部のスキームは、すべてのコンテキストでサポートされているわけではありません。