From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../webextensions/match_patterns/index.html | 432 +++++++++++++++++++++ 1 file changed, 432 insertions(+) create mode 100644 files/ja/mozilla/add-ons/webextensions/match_patterns/index.html (limited to 'files/ja/mozilla/add-ons/webextensions/match_patterns') 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 +--- +
{{AddonSidebar}}
+ +

マッチパターンは URL のグループを指定する方法です。マッチパターンはいくつかの URL にマッチします。マッチパターンは WebExtensions API を使う拡張機能向けに、いくつかの場所で使用されます。特にコンテンツスクリプトをロードする文書を指定するときや、webRequest リスナーを追加する URL を指定する時に使用します。

+ +

マッチパターンを使用する API は通常マッチパターンのリストを受け取り、URL がパターンのいずれかにマッチする場合は適切なアクションを実行します。たとえば manifest.json 内の content_scripts キーを参照してください。

+ +

マッチパターンの構造

+ +
+

記: ブラウザーによってはサポートしていないスキームがあります。
+ 詳しくはブラウザー互換性テーブルを見てください。

+
+ +

すべてのマッチパターンは文字列で指定します。特別な値 <all_urls> を除き、マッチパターンは3つの部分から成り立っています。 scheme, host, path です。 scheme と host の間は  :// で句切られます。

+ +
<scheme>://<host><path>
+ +

scheme

+ +

 scheme 部は2つの形式のうち、どちらかを指定します。

+ + + + + + + + + + + + + + + + + + +
形式マッチするもの
*"http"か"https"のみ、いくつかのブラウザーでは "ws" と "wss"
http, https, ws, wss, ftp, ftps, data, file のうちどれか 1 つ指定したスキームのみ
+ +

host

+ +

host部は3つ形式のうちどれか 1 つを取ります。

+ + + + + + + + + + + + + + + + + + + + + + +
形式マッチするもの
*すべてのホスト
*. に続くホスト名の一部分指定したホストと任意のサブドメイン
ワイルドカード無しの完全なホスト名指定したホストのみ
+ +

host部にはポート番号は入りません。

+ +

"file"スキームだけは、host部はオプションです。

+ +

ワイルドカード "*" は host の最初のみに適用できることに注意してください。

+ +

path

+ +

パス部は / で開始しなければいけません。

+ +

その後、ワイルドカード * と、URL パスとして許可される文字とを組み合わせたものが続けて入るかもしれません。ホスト部と異なり、パス部はワイルドカード * を途中や終わりに含むことができて、さらに 2 つ以上の * を含められます。

+ +

path の値は、URL パスに URL クエリーストリングを加えた文字列と一致します。クエリーストリングがある場合、それらの間に ? を含んでいます。例えば、foo.bar で終わる URL パスのあらゆるドメインに URL マッチしたい場合、マッチパターンは ['*://*/*foo.bar', '*://*/*foo.bar?*']です。単に bar* ではなく ?* は必要で、最後の * は URL クエリーストリングにも、URL パスの部分でないものにも適用するためです。

+ +

URL フラグメント識別子や、# の後についているものは、path とみなされません。

+ +
+

: path パターン文字列にポート番号を含めるべきではありません。"http://localhost:1234/*" のようにポート番号を追加するとマッチパターンは無視されます。しかし、"http://localhost:1234" は "http://localhost/*" にマッチします。

+
+ +

<all_urls>

+ +

特殊な値である <all_urls> は、サポートしているすべての scheme の URL( "http", "https", "file", "ftp", "app" )にマッチします。

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
パターンマッチする例マッチしない例
+

<all_urls>

+ +

すべての URL にマッチ

+
+

http://example.org/

+ +

https://a.org/some/path/

+ +

ws://sockets.somewhere.org/

+ +

wss://ws.example.com/stuff/

+ +

ftp://files.somewhere.org/

+ +

ftps://files.somewhere.org/

+
+

resource://a/b/c/
+ (サポートされていないスキーム)

+
+

*://*/*

+ +

すべての HTTP, HTTPS, WebSocket URL にマッチ

+
+

http://example.org/

+ +

https://a.org/some/path/

+ +

ws://sockets.somewhere.org/

+ +

wss://ws.example.com/stuff/

+
+

ftp://ftp.example.org/
+ (マッチしないスキーム)

+ +

ftps://ftp.example.org/
+ (マッチしないスキーム)

+ +

file:///a/
+ (マッチしないスキーム)

+
+

*://*.mozilla.org/*

+ +

"mozilla.org" かそのサブドメインでホストされている HTTP, HTTPS, WebSocket の URL にマッチ

+
+

http://mozilla.org/

+ +

https://mozilla.org/

+ +

http://a.mozilla.org/

+ +

http://a.b.mozilla.org/

+ +

https://b.mozilla.org/path/

+ +

ws://ws.mozilla.org/

+ +

wss://secure.mozilla.org/something

+
+

ftp://mozilla.org/
+ (マッチしないスキーム)

+ +

http://mozilla.com/
+ (マッチしないホスト)

+ +

http://firefox.org/
+ (マッチしないホスト)

+
+

*://mozilla.org/

+ +

HTTP や HTTPS や WebSocket の"mozilla.org/"のホストのみマッチ

+
+

http://mozilla.org/

+ +

https://mozilla.org/

+ +

ws://mozilla.org/

+ +

wss://mozilla.org/

+
+

ftp://mozilla.org/
+ (マッチしないスキーム)

+ +

http://a.mozilla.org/
+ (マッチしないホスト)

+ +

http://mozilla.org/a
+ (マッチしないパス)

+
+

ftp://mozilla.org/

+ +

"ftp://mozilla.org/"のみマッチ

+
ftp://mozilla.org +

http://mozilla.org/
+ (マッチしないスキーム)

+ +

ftp://sub.mozilla.org/
+ (マッチしないホスト)

+ +

ftp://mozilla.org/path
+ (マッチしないパス)

+
+

https://*/path

+ +

 HTTPS URL で path が "path"のホストのみマッチ

+
+

https://mozilla.org/path

+ +

https://a.mozilla.org/path

+ +

https://something.com/path

+
+

http://mozilla.org/path
+ (マッチしないスキーム)

+ +

https://mozilla.org/path/
+ (マッチしないパス)

+ +

https://mozilla.org/a
+ (マッチしないパス)

+ +

https://mozilla.org/
+ (マッチしないパス)

+ +

https://mozilla.org/path?foo=1
+ (URL クエリーストリングによりマッチしないパス)

+
+

https://*/path/

+ +

あらゆるホスト上の HTTPS URL で、パスが "path/" で URL にクエリーストリングのないものにマッチ

+
+

https://mozilla.org/path/

+ +

https://a.mozilla.org/path/

+ +

https://something.com/path/

+
+

http://mozilla.org/path/
+ (マッチしないスキーム)

+ +

https://mozilla.org/path
+ (マッチしないパス)

+ +

https://mozilla.org/a
+ (マッチしないパス)

+ +

https://mozilla.org/
+ (マッチしないパス)

+ +

https://mozilla.org/path?foo=1
+ (URL クエリーストリングによりマッチしないパス)

+
+

https://mozilla.org/*

+ +

HTTPS URL のみにマッチで、"mozilla.org"だけ、パスやクエリーストリングは問わない

+
+

https://mozilla.org/

+ +

https://mozilla.org/path

+ +

https://mozilla.org/another

+ +

https://mozilla.org/path/to/doc

+ +

https://mozilla.org/path/to/doc?foo=1

+
+

http://mozilla.org/path
+ (マッチしないスキーム)

+ +

https://mozilla.com/path
+ (マッチしないホスト)

+
+

https://mozilla.org/a/b/c/

+ +

この URL 、あるいはフラグメント付きのこのURLにのみマッチ

+
+

https://mozilla.org/a/b/c/

+ +

https://mozilla.org/a/b/c/#section1

+
これ以外のすべて
+

https://mozilla.org/*/b/*/

+ +

"mozilla.org"でホストされた HTTPS URL で、パスは中間のどこかに "b" を含むもの。クエリーストリングが / で終了していればそれにもマッチ

+
+

https://mozilla.org/a/b/c/

+ +

https://mozilla.org/d/b/f/

+ +

https://mozilla.org/a/b/c/d/

+ +

https://mozilla.org/a/b/c/d/#section1

+ +

https://mozilla.org/a/b/c/d/?foo=/

+ +

https://mozilla.org/a?foo=21314&bar=/b/&extra=c/

+
+

https://mozilla.org/b/*/
+ (マッチしないパス)

+ +

https://mozilla.org/a/b/
+ (マッチしないパス)

+ +

https://mozilla.org/a/b/c/d/?foo=bar
+ (URL クエリーストリングによりマッチしないパス)

+
+

file:///blah/*

+ +

FILE URL でパスが "blah" で始まるもの

+
+

file:///blah/

+ +

file://blah/bleh

+
file:///bleh/
+ (マッチしないパス)
+ +

無効なマッチパターン

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
無効なパターン理由
resource://path/サポートされていないスキーム。
https://mozilla.orgパスがない。
https://mozilla.*.org/"*" はホストの先頭に使用する必要があります。
https://*zilla.org/ホスト内の "*" は唯一の文字であるか、"."が続かなければいけません。
http*://mozilla.org/ +

スキーム内の "*" は唯一の文字であるべきです。

+
*://*パスが空: "*://*/*"であるべき。
file://*パスが空: "file:///*"であるべき 。
+ +

ブラウザー実装状況

+ +

scheme

+ + + +

{{Compat("webextensions.match_patterns.scheme",10)}}

-- cgit v1.2.3-54-g00ecf