diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/mozilla/add-ons/webextensions/match_patterns | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/mozilla/add-ons/webextensions/match_patterns')
-rw-r--r-- | files/ja/mozilla/add-ons/webextensions/match_patterns/index.html | 432 |
1 files changed, 432 insertions, 0 deletions
diff --git a/files/ja/mozilla/add-ons/webextensions/match_patterns/index.html b/files/ja/mozilla/add-ons/webextensions/match_patterns/index.html new file mode 100644 index 0000000000..6a30fdc9d7 --- /dev/null +++ b/files/ja/mozilla/add-ons/webextensions/match_patterns/index.html @@ -0,0 +1,432 @@ +--- +title: マッチパターン +slug: Mozilla/Add-ons/WebExtensions/Match_patterns +tags: + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/Match_patterns +--- +<div>{{AddonSidebar}}</div> + +<p>マッチパターンは URL のグループを指定する方法です。マッチパターンはいくつかの URL にマッチします。マッチパターンは WebExtensions API を使う拡張機能向けに、いくつかの場所で使用されます。特に<a href="/ja/docs/Mozilla/Add-ons/WebExtensions/Content_scripts">コンテンツスクリプト</a>をロードする文書を指定するときや、<code><a href="/ja/docs/Mozilla/Add-ons/WebExtensions/API/webRequest">webRequest</a></code> リスナーを追加する URL を指定する時に使用します。</p> + +<p>マッチパターンを使用する API は通常マッチパターンのリストを受け取り、URL がパターンのいずれかにマッチする場合は適切なアクションを実行します。たとえば manifest.json 内の <code><a href="/ja/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts">content_scripts</a></code> キーを参照してください。</p> + +<h2 id="Match_pattern_structure" name="Match_pattern_structure">マッチパターンの構造</h2> + +<div class="blockIndicator note"> +<p><strong>記:</strong> ブラウザーによってはサポートしていないスキームがあります。<br> + 詳しくは<a href="https://wiki.developer.mozilla.org/ja/docs/Mozilla/Add-ons/WebExtensions/Match_patterns$edit#Browser_compatibility">ブラウザー互換性テーブル</a>を見てください。</p> +</div> + +<p>すべてのマッチパターンは文字列で指定します。特別な値<a href="/ja/Add-ons/WebExtensions/Match_patterns#%3Call_urls%3E"> <code><all_urls></code></a> を除き、マッチパターンは3つの部分から成り立っています。 <em>scheme</em>, <em>host</em>, <em>path</em> です。 scheme と host の間は <code>://</code> で句切られます。</p> + +<pre class="notranslate"><scheme>://<host><path></pre> + +<h3 id="scheme" name="scheme">scheme</h3> + +<p> <em>scheme</em> 部は2つの形式のうち、どちらかを指定します。</p> + +<table class="fullwidth-table standard-table"> + <thead> + <tr> + <th scope="col" style="width: 50%;">形式</th> + <th scope="col">マッチするもの</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>*</code></td> + <td>"http"か"https"のみ、いくつかのブラウザーでは <a href="https://wiki.developer.mozilla.org/ja/docs/Web/API/WebSockets_API">"ws" と "wss"</a></td> + </tr> + <tr> + <td><code>http</code>, <code>https</code>, <code>ws</code>, <code>wss</code>, <code>ftp</code>, <code>ftps</code>, <code>data</code>, <code>file</code> のうちどれか 1 つ</td> + <td>指定したスキームのみ</td> + </tr> + </tbody> +</table> + +<h3 id="host" name="host">host</h3> + +<p><em>host</em>部は3つ形式のうちどれか 1 つを取ります。</p> + +<table class="fullwidth-table standard-table"> + <thead> + <tr> + <th scope="col" style="width: 50%;">形式</th> + <th scope="col">マッチするもの</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>*</code></td> + <td>すべてのホスト</td> + </tr> + <tr> + <td><code>*.</code> に続くホスト名の一部分</td> + <td>指定したホストと任意のサブドメイン</td> + </tr> + <tr> + <td>ワイルドカード無しの完全なホスト名</td> + <td>指定したホストのみ</td> + </tr> + </tbody> +</table> + +<p><em>host部</em>にはポート番号は入りません。</p> + +<p>"file"スキームだけは、<em>host</em>部はオプションです。</p> + +<p>ワイルドカード "*" は <em>host</em> の最初のみに適用できることに注意してください。</p> + +<h3 id="path" name="path">path</h3> + +<p>パス部は <code>/</code> で開始しなければいけません。</p> + +<p>その後、ワイルドカード <code>*</code> と、URL パスとして許可される文字とを組み合わせたものが続けて入るかもしれません。ホスト部と異なり、パス部はワイルドカード <code>*</code> を途中や終わりに含むことができて、さらに 2 つ以上の <code>*</code> を含められます。</p> + +<p><em>path</em> の値は、URL パスに <a href="https://en.wikipedia.org/wiki/Query_string">URL クエリーストリング</a>を加えた文字列と一致します。クエリーストリングがある場合、それらの間に <code>?</code> を含んでいます。例えば、<code>foo.bar</code> で終わる URL パスのあらゆるドメインに URL マッチしたい場合、マッチパターンは <code>['*://*/*foo.bar', '*://*/*foo.bar?*']</code>です。単に <code>bar*</code> ではなく <code>?*</code> は必要で、最後の <code>*</code> は URL クエリーストリングにも、URL パスの部分でないものにも適用するためです。</p> + +<p><a href="https://en.wikipedia.org/wiki/Fragment_identifier">URL フラグメント識別子</a>や、<code>#</code> の後についているものは、<em>path</em> とみなされません。</p> + +<div class="blockIndicator note"> +<p><strong>注</strong>: path パターン文字列にポート番号を含めるべきではありません。<em>"http://localhost:1234/*" </em>のようにポート番号を追加するとマッチパターンは無視されます。しかし、"<em>http://localhost:1234</em>" は "<em>http://localhost/*</em>" にマッチします。</p> +</div> + +<h3 id="<all_urls>" name="<all_urls>"><all_urls></h3> + +<p>特殊な値である <code><all_urls></code> は、サポートしているすべての scheme の URL( "http", "https", "file", "ftp", "app" )にマッチします。</p> + +<h2 id="Examples" name="Examples">例</h2> + +<table class="fullwidth-table standard-table"> + <thead> + <tr> + <th scope="col" style="width: 33%;">パターン</th> + <th scope="col" style="width: 33%;">マッチする例</th> + <th scope="col" style="width: 33%;">マッチしない例</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <p><code><all_urls></code></p> + + <p>すべての URL にマッチ</p> + </td> + <td> + <p><code>http://example.org/</code></p> + + <p><code>https://a.org/some/path/</code></p> + + <p><code>ws://sockets.somewhere.org/</code></p> + + <p><code>wss://ws.example.com/stuff/</code></p> + + <p><code>ftp://files.somewhere.org/</code></p> + + <p><code>ftps://files.somewhere.org/</code></p> + </td> + <td> + <p><code>resource://a/b/c/</code><br> + (サポートされていないスキーム)</p> + </td> + </tr> + <tr> + <td> + <p><code>*://*/*</code></p> + + <p>すべての HTTP, HTTPS, WebSocket URL にマッチ</p> + </td> + <td> + <p><code>http://example.org/</code></p> + + <p><code>https://a.org/some/path/</code></p> + + <p><code>ws://sockets.somewhere.org/</code></p> + + <p><code>wss://ws.example.com/stuff/</code></p> + </td> + <td> + <p><code>ftp://ftp.example.org/</code><br> + (マッチしないスキーム)</p> + + <p><code>ftps://ftp.example.org/</code><br> + (マッチしないスキーム)</p> + + <p><code>file:///a/</code><br> + (マッチしないスキーム)</p> + </td> + <td></td> + </tr> + <tr> + <td> + <p><code>*://*.mozilla.org/*</code></p> + + <p>"mozilla.org" かそのサブドメインでホストされている HTTP, HTTPS, WebSocket の URL にマッチ</p> + </td> + <td> + <p><code>http://mozilla.org/</code></p> + + <p><code>https://mozilla.org/</code></p> + + <p><code>http://a.mozilla.org/</code></p> + + <p><code>http://a.b.mozilla.org/</code></p> + + <p><code>https://b.mozilla.org/path/</code></p> + + <p><code>ws://ws.mozilla.org/</code></p> + + <p><code>wss://secure.mozilla.org/something</code></p> + </td> + <td> + <p><code>ftp://mozilla.org/</code><br> + (マッチしないスキーム)</p> + + <p><code>http://mozilla.com/</code><br> + (マッチしないホスト)</p> + + <p><code>http://firefox.org/</code><br> + (マッチしないホスト)</p> + </td> + </tr> + <tr> + <td> + <p><code>*://mozilla.org/</code></p> + + <p>HTTP や HTTPS や WebSocket の"mozilla.org/"のホストのみマッチ</p> + </td> + <td> + <p><code>http://mozilla.org/</code></p> + + <p><code>https://mozilla.org/</code></p> + + <p><code>ws://mozilla.org/</code></p> + + <p><code>wss://mozilla.org/</code></p> + </td> + <td> + <p><code>ftp://mozilla.org/</code><br> + (マッチしないスキーム)</p> + + <p><code>http://a.mozilla.org/</code><br> + (マッチしないホスト)</p> + + <p><code>http://mozilla.org/a</code><br> + (マッチしないパス)</p> + </td> + </tr> + <tr> + <td> + <p><code>ftp://mozilla.org/</code></p> + + <p>"ftp://mozilla.org/"のみマッチ</p> + </td> + <td><code>ftp://mozilla.org</code></td> + <td> + <p><code>http://mozilla.org/</code><br> + (マッチしないスキーム)</p> + + <p><code>ftp://sub.mozilla.org/</code><br> + (マッチしないホスト)</p> + + <p><code>ftp://mozilla.org/path</code><br> + (マッチしないパス)</p> + </td> + </tr> + <tr> + <td> + <p><code>https://*/path</code></p> + + <p> HTTPS URL で path が "path"のホストのみマッチ</p> + </td> + <td> + <p><code>https://mozilla.org/path</code></p> + + <p><code>https://a.mozilla.org/path</code></p> + + <p><code>https://something.com/path</code></p> + </td> + <td> + <p><code>http://mozilla.org/path</code><br> + (マッチしないスキーム)</p> + + <p><code>https://mozilla.org/path/</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/a</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/path?foo=1</code><br> + (URL クエリーストリングによりマッチしないパス)</p> + </td> + </tr> + <tr> + <td> + <p><code>https://*/path/</code></p> + + <p>あらゆるホスト上の HTTPS URL で、パスが "path/" で URL にクエリーストリングのないものにマッチ</p> + </td> + <td> + <p><code>https://mozilla.org/path/</code></p> + + <p><code>https://a.mozilla.org/path/</code></p> + + <p><code>https://something.com/path</code>/</p> + </td> + <td> + <p><code>http://mozilla.org/path/</code><br> + (マッチしないスキーム)</p> + + <p><code>https://mozilla.org/path</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/a</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/path?foo=1</code><br> + (URL クエリーストリングによりマッチしないパス)</p> + </td> + </tr> + <tr> + <td> + <p><code>https://mozilla.org/*</code></p> + + <p>HTTPS URL のみにマッチで、"mozilla.org"だけ、パスやクエリーストリングは問わない</p> + </td> + <td> + <p><code>https://mozilla.org/</code></p> + + <p><code>https://mozilla.org/path</code></p> + + <p><code>https://mozilla.org/another</code></p> + + <p><code>https://mozilla.org/path/to/doc</code></p> + + <p><code>https://mozilla.org/path/to/doc?foo=1</code></p> + </td> + <td> + <p><code>http://mozilla.org/path</code><br> + (マッチしないスキーム)</p> + + <p><code>https://mozilla.com/path</code><br> + (マッチしないホスト)</p> + </td> + </tr> + <tr> + <td> + <p><code>https://mozilla.org/a/b/c/</code></p> + + <p>この URL 、あるいはフラグメント付きのこのURLにのみマッチ</p> + </td> + <td> + <p><code>https://mozilla.org/a/b/c/</code></p> + + <p><code>https://mozilla.org/a/b/c/#section1</code></p> + </td> + <td>これ以外のすべて</td> + </tr> + <tr> + <td> + <p><code>https://mozilla.org/*/b/*/</code></p> + + <p>"mozilla.org"でホストされた HTTPS URL で、パスは中間のどこかに "b" を含むもの。クエリーストリングが / で終了していればそれにもマッチ</p> + </td> + <td> + <p><code>https://mozilla.org/a/b/c/</code></p> + + <p><code>https://mozilla.org/d/b/f/</code></p> + + <p><code>https://mozilla.org/a/b/c/d/</code></p> + + <p><code>https://mozilla.org/a/b/c/d/#section1</code></p> + + <p><code>https://mozilla.org/a/b/c/d/?foo=/</code></p> + + <p><code>https://mozilla.org/a?foo=21314&bar=/b/&extra=c/</code></p> + </td> + <td> + <p><code>https://mozilla.org/b/*/</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/a/b/</code><br> + (マッチしないパス)</p> + + <p><code>https://mozilla.org/a/b/c/d/?foo=bar</code><br> + (URL クエリーストリングによりマッチしないパス)</p> + </td> + </tr> + <tr> + <td> + <p><code>file:///blah/*</code></p> + + <p>FILE URL でパスが "blah" で始まるもの</p> + </td> + <td> + <p><code>file:///blah/</code></p> + + <p><code>file://blah/bleh</code></p> + </td> + <td><code>file:///bleh/</code><br> + (マッチしないパス)</td> + </tr> + </tbody> +</table> + +<h3 id="Invalid_match_patterns" name="Invalid_match_patterns">無効なマッチパターン</h3> + +<table class="fullwidth-table standard-table"> + <thead> + <tr> + <th scope="col">無効なパターン</th> + <th scope="col">理由</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>resource://path/</code></td> + <td>サポートされていないスキーム。</td> + </tr> + <tr> + <td><code>https://mozilla.org</code></td> + <td>パスがない。</td> + </tr> + <tr> + <td><code>https://mozilla.*.org/</code></td> + <td>"*" はホストの先頭に使用する必要があります。</td> + </tr> + <tr> + <td><code>https://*zilla.org/</code></td> + <td>ホスト内の "*" は唯一の文字であるか、"."が続かなければいけません。</td> + </tr> + <tr> + <td><code>http*://mozilla.org/</code></td> + <td> + <p>スキーム内の "*" は唯一の文字であるべきです。</p> + </td> + </tr> + <tr> + <td><code>*://*</code></td> + <td>パスが空: "<code>*://*/*</code>"であるべき。</td> + <td></td> + </tr> + <tr> + <td><code>file://*</code></td> + <td>パスが空: "<code>file:///*</code>"であるべき 。</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2> + +<h3 id="scheme_2" name="scheme_2">scheme</h3> + + + +<p>{{Compat("webextensions.match_patterns.scheme",10)}}</p> |