ホスト権限とコンテンツ スクリプトのマッチングは、一致パターンで定義された URL のセットに基づいています。一致パターンとは基本的に、許可されたスキーム(http
、https
、file
、ftp
)で始まる URL であり、「*
」文字を含めることができます。特殊なパターン <all_urls>
は、許可されたスキームで始まる URL と一致します。各一致パターンには、次の 3 つのパートがあります。
スキーム - 例:
http
、file
、*
注:file
の URL へのアクセスは自動的に行われません。ユーザーは拡張機能の管理ページにアクセスし、各拡張機能でfile
アクセスを有効にする必要があります。ホスト(例:
www.google.com
、*.google.com
、*
)。スキームがfile
の場合、ホストの部分はありません。path(例:
/*
、/foo*
、/foo/bar
)。ホスト権限にこのパスを指定する必要がありますが、常に/*
として扱われます。
基本的な構文は次のとおりです。
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
「*
」の意味は、scheme、host、path のいずれの部分にあるかによって異なります。スキームが *
の場合、file
、ftp
、urn
ではなく、http
または https
のいずれかに一致します。ホストが *
だけの場合は、任意のホストと一致します。ホストが *._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 | パスが /foo で始まり bar で終わる限り、https スキームを使用する、google.com ホスト(www.google.com、docs.google.com、google.com など)にある URL と一致します。 | 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 | host の「*」の後には「.」または「/」のみを続けることができます |
http://foo.*.bar/baz | 「*」がホストに含まれている場合は、最初の文字にする必要があります。 |
http:/bar | scheme 区切り文字がない(「/」は「//」にする必要があります) |
foo://* | 無効なスキーム |
スキームの中には、すべてのコンテキストでサポートされていないものもあります。