From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../webextensions/match_patterns/index.html | 426 +++++++++++++++++++++ 1 file changed, 426 insertions(+) create mode 100644 files/ru/mozilla/add-ons/webextensions/match_patterns/index.html (limited to 'files/ru/mozilla/add-ons/webextensions/match_patterns') diff --git a/files/ru/mozilla/add-ons/webextensions/match_patterns/index.html b/files/ru/mozilla/add-ons/webextensions/match_patterns/index.html new file mode 100644 index 0000000000..17ac749843 --- /dev/null +++ b/files/ru/mozilla/add-ons/webextensions/match_patterns/index.html @@ -0,0 +1,426 @@ +--- +title: Шаблоны совпадения в расширении +slug: Mozilla/Add-ons/WebExtensions/Match_patterns +translation_of: Mozilla/Add-ons/WebExtensions/Match_patterns +--- +
{{AddonSidebar}}
+ +

Шаблоны совпадения - являются способом обозначения необходимых групп URL. Они используются в нескольких местах в WebExtensions API, главным образом для объявления какие веб-страницы должны загружать встраиваемые скрипты и по каким URL необходимо ожидать событий из  webRequest API.

+ +

API, которое использует шаблоны совпадения, обычно принимает их списками, и выполняет соответствующие действия, если URL имеет совпадение с одним из шаблонов. Например, взгляните на content_scripts ключ в manifest.json.

+ +

Структура шаблона совпадения

+ +
+

Заметьте: Некоторые браузеры не поддерживают определённые схемы.
+ Смотрите Browser compatibility table для дополнительной информации.

+
+ +

Все шаблоны совпадения объявляются в виде строк. За исключением специального <all_urls> шаблона, шаблоны совпадения состоят из трёх компонентов: схема, хост и путь. Схема и хост разделяются с помощью ://.

+ +
<схема>://<хост><путь>
+ +

Схема

+ +

Компонент схема может принимать один из двух видов:

+ + + + + + + + + + + + + + + + + + +
ВидСовпадение
*Только "http" and "https", так же "ws" и "wss" в некоторых браузерах.
Одно из http, https, ws, wss, ftp, ftps, data или file.Только данная схема.
+ +

Хост

+ +

Компонент хост может принимать один из трёх видов:

+ + + + + + + + + + + + + + + + + + + + + + +
FormMatches
*Любой хост.
*. за которыми следует частичное имя хоста.Данный хост и любые его субдомены.
Полное название хоста без *.Только данный хост.
+ +

Хост не должен включать в себя значение порта.

+ +

Хост не обязателен, если схема задана, как "file".

+ +

Заметьте, что * звёздочка (символ универсального значения) может быть написана только в начале строки.

+ +

Путь

+ +

Компонент путь должен начинаться с / символа.

+ +

Вслед за ним он может иметь любую комбинацию символов и * звёздочек, которые позволено использовать для обозначения URL и строки параметров (начинается после ?). В отличии от хоста, путь может содержать * звёздочку в середине или в конце строки, и * звёздочка может появляться в строке более одного раза.

+ +

Значение пути сравнивается со строкой, которая представляет из себя URL и строку параметров. Если строка параметров присутствует в URL, тогда она отделяется от основного URL знаком ?. Если вы хотите иметь соответствие с URL на любом домене, где URL путь кончается на foo.bar, не зависимо от присутствия строки параметров, тогда вам нужно иметь массив шаблонов совпадений, например ['*://*/*foo.bar', '*://*/*foo.bar?*']. В этой ситуации необходимо использовать ?*, а не bar*, для того чтобы обозначить, что * будет применяться к строке параметров, а не к основной части URL пути.

+ +

Ни идентификатор якоря, ни предшествующая ему #, не считаются частями пути.

+ +

<all_urls>

+ +

Специальное значение <all_urls> совпадает со всеми URL, если они используются со следующими схемами: "http", "https", "ws", "wss", "ftp", "data", and "file".

+ +

Примеры

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ШаблонПример совпаденияПример несовпадения
+

<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/*

+ +

Совпадение со всеми HTTP, HTTPS и WebSocket URL, которые находятся на "mozilla.org" или одном из её субдоменов.

+
+

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 URL, которые находятся исключительно на "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".

+
+

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
+ (несовпадающий путь из-за строки параметров)

+
+

https://*/path/

+ +

Совпадение со всеми HTTPS URL на любом хосте, чей путь точно соответсвует "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
+ (несовпадающий путь из-за строки параметров)

+
+

https://mozilla.org/*

+ +

Совпадение со всеми HTTPS URL только на домене "mozilla.org", с любым URL путём и строкой параметров.

+
+

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/*/

+ +

Совпадение только с HTTPS URL, которые находятся на "mozilla.org", чей путь имеет сегмент "b" где-то в середине. Совпадёт с URL со строкой параметров, если эта строка параметров заканчивается на /.

+
+

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
+ (несовпадающий путь из-за строки параметров)

+
+

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/"*" в схеме должен быть единственным символом.
https://mozilla.org:80/Хост не должен включать в себя номер порта.
*://*Пустой путь: должно быть переписано, как "*://*/*".
file://*Пустой путь: должно быть переписано, как "file:///*".
+ +

Browser compatibility

+ +

scheme

+ + + +

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

-- cgit v1.2.3-54-g00ecf