Сопоставление шаблонов

Шаблон соответствия — это URL-адрес со следующей структурой, используемый для указания группы URL-адресов:

<scheme>://<host>:<port>/<path>

Схема : Должна быть одной из следующих, отделенная от остальной части шаблона двоеточием, за которым следует двойная косая черта ( :// ):

  • http
  • https
  • Символ подстановки * , который соответствует только http или https
  • file

Для получения информации о внедрении скриптов содержимого в неподдерживаемые схемы, такие как about: и data: см. раздел «Внедрение в связанные фреймы» .

host : Имя хоста ( www.example.com ). Перед именем хоста ставится * для соответствия поддоменам ( *.example.com ) или просто подстановочный символ * . — Если вы используете подстановочный символ в шаблоне хоста, он должен быть первым или единственным символом и за ним должна следовать точка ( . ) или косая черта ( / ).

порт (необязательно) : порт для сопоставления. По умолчанию он рассматривается как подстановочный знак с тем же поведением, что и :* .

path : URL-путь ( /example ). Для прав доступа хоста путь обязателен, но игнорируется. По соглашению следует использовать подстановочный знак ( /* ).

Расширения используют шаблоны сопоставления в различных сценариях, включая следующие:

Особые случаи

"<all_urls>"
Соответствует любому URL-адресу, начинающемуся с разрешенной схемы, включая любой шаблон, указанный в списке допустимых шаблонов . Поскольку это влияет на все хосты, проверка расширений в Chrome Web Store, использующих эту схему, может занять больше времени .
"file:///"
Позволяет вашему расширению работать с локальными файлами. Этот шаблон требует от пользователя ручного предоставления доступа . Обратите внимание, что в этом случае требуется три косые черты, а не две.
URL-адреса и IP-адреса локального хоста
Используйте http://localhost/* или http://127.0.0.1/* (для сопоставления с IP-адресом). Шаблоны соответствия подходят для всех портов, если не указан явный порт.
шаблоны соответствия доменов верхнего уровня
Chrome не поддерживает шаблоны соответствия для доменов верхнего уровня (TLD) . Указывайте шаблоны соответствия внутри отдельных TLD, например, http://google.es/* и http://google.fr/* .

Примеры шаблонов

https://*/* или https://*/
Соответствует любому URL-адресу, использующему схему https .
https://*/foo*
Сопоставляет любой URL-адрес, использующий схему https , на любом хосте, с путем, начинающимся с foo . Примеры совпадений: https://example.com/foo/bar.html и https://www.google.com/foo .
https://*.google.com/foo*bar
Сопоставляет любой URL-адрес, использующий схему https , на хосте google.com, с путем, начинающимся с foo и заканчивающимся на bar . Примеры совпадений: https://www.google.com/foo/baz/bar и https://docs.google.com/foobar .
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/ и http://127.0.0.1/foo/bar.html .
http://localhost/*
Соответствует любому порту локального хоста.
*://mail.google.com/ или *://mail.google.com/*
Соответствует любому URL-адресу, начинающемуся с http://mail.google.com или https://mail.google.com .