一致パターン

ホストの権限コンテンツ スクリプトのマッチングは、一致パターンで定義される一連の URL に基づきます。照合パターンは、基本的に、許可されたスキーム(httphttpsfileftp)で始まり、「*」文字を含む URL です。特殊なパターン <all_urls> は、許可されたスキームで始まるすべての URL に一致します。各一致パターンは次の 3 つの部分で構成されています。

  • スキーム - httpfile* など

    注: file URL へのアクセスは自動的ではありません。ユーザーは、拡張機能の管理ページにアクセスし、リクエストする拡張機能ごとに file アクセスを有効にする必要があります。
  • ホスト - www.google.com*.google.com* など。スキームが file の場合、ホスト部分はありません。

  • パス - /*/foo*/foo/bar など。パスはホスト権限に存在する必要がありますが、常に /* として扱われます。

基本的な構文は次のとおりです。

&lt;url-pattern&gt; := &lt;scheme&gt;://&lt;host&gt;&lt;path&gt;
&lt;scheme&gt; := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
&lt;host&gt; := '*' | '*.' &lt;any char except '/' and '*'&gt;+
&lt;path&gt; := '/' &lt;any chars&gt;

*」の意味は、スキーム、ホスト、パスの部分にあるかどうかによって異なります。スキーマ* の場合、http または https と一致します。fileftpurn とは一致しませんホスト* のみの場合は、任意のホストに一致します。ホスト*._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*barhttps スキームを使用し、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://*無効なスキーム

一部のスキームは、すべてのコンテキストでサポートされているわけではありません。