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

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

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

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

  • http
  • https
  • Подстановочный знак * , который соответствует только http или https
  • file

Информацию о внедрении сценариев содержимого в неподдерживаемые схемы, например about: и data: см. в разделе Внедрение в связанные кадры .

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

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

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

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

"<all_urls>"
Соответствует любому URL-адресу, начинающемуся с разрешенной схемы, включая любой шаблон, указанный в списке допустимых шаблонов . Поскольку это затрагивает все хосты, проверка в интернет-магазине Chrome расширений, которые его используют, может занять больше времени .
"file:///"
Позволяет вашему расширению работать с локальными файлами. Этот шаблон требует от пользователя предоставления доступа вручную. Обратите внимание, что в этом случае требуются три косые черты, а не две.
URL-адреса и IP-адреса локального хоста
Чтобы сопоставить любой порт localhost во время разработки, используйте http://localhost/* . Для IP-адресов укажите адрес плюс подстановочный знак в пути, например http://127.0.0.1/* . Вы также можете использовать http://*:*/* для сопоставления локального хоста, IP-адресов и любого порта.
Шаблоны соответствия доменов верхнего уровня
Chrome не поддерживает шаблоны соответствия для доменов верхнего уровня (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 .