ホスト権限とコンテンツ スクリプトのマッチングは、一致パターンで定義される一連の URL に基づきます。一致パターンは、許可されたスキーム(http、https、file、ftp)で始まり、* 文字を含むことができる URL です。特殊なパターン <all_urls> は、許可されたスキームで始まるすべての URL に一致します。各一致パターンには次の 3 つの部分があります。
scheme -
http、file、*など注:fileURL へのアクセスは自動ではありません。ユーザーは、拡張機能の管理ページにアクセスし、リクエストしている拡張機能ごとにfileへのアクセスを有効にする必要があります。host -
www.google.com、*.google.com、*など。スキームがfileの場合、host 部分はありません。path - 例:
/*、/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 | パスが /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 | ホストの「*」の後には「.」または「/」のみを続けることができます。 |
http://foo.*.bar/baz | ホストに「*」が含まれている場合は、最初の文字である必要があります。 |
http:/bar | スキームの区切り文字がありません(「/」は「//」である必要があります) |
foo://* | 無効なスキーム |
一部のスキームは、すべてのコンテキストでサポートされているわけではありません。