Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

マッチパターン

マッチパターンは 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:1234http://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/somethingftp://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.orghttp://mozilla.org/ (マッチしないスキーム)ftp://sub.mozilla.org/ (マッチしないホスト)ftp://mozilla.org/path (マッチしないパス)
https://*/pathHTTPS URL で path が "path"のホストのみマッチhttps://mozilla.org/pathhttps://a.mozilla.org/pathhttps://something.com/pathhttp://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/pathhttps://mozilla.org/anotherhttps://mozilla.org/path/to/dochttps://mozilla.org/path/to/doc?foo=1http://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/#section1https://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/blehfile:///bleh/ (マッチしないパス)

無効なマッチパターン

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

ブラウザーの互換性

scheme

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp