Шаблон соответствия – это URL-адрес со следующей структурой, используемый для указания группы URL-адресов:
<scheme>://<host>/<path>
схема : Должно быть одно из следующих значений, отделенное от остальной части шаблона двойной косой чертой ( //
):
-
http
-
https
- Подстановочный знак
*
, который соответствует толькоhttp
илиhttps
-
file
Информацию о внедрении сценариев содержимого в неподдерживаемые схемы, например about:
и data:
см. в разделе Внедрение в связанные кадры .
хост : имя хоста ( www.example.com
). *
перед именем хоста для соответствия субдоменам ( *.example.com
) или просто подстановочный знак *
. - Если вы используете подстановочный знак в шаблоне хоста, он должен быть первым или единственным символом, за которым должна следовать точка ( .
) или косая черта ( /
).
путь : URL-путь ( /example
). Для разрешений хоста путь обязателен, но игнорируется. По соглашению следует использовать подстановочный знак ( /*
).
Расширения используют шаблоны соответствия в различных случаях, включая следующие:
- Скрипт внедрения контента .
- Объявление разрешений хоста , которые требуются некоторым API Chrome в дополнение к их собственным разрешениям.
- Предоставление доступа к веб-ресурсам .
- Разрешение отправки и получения сообщений с использованием ключа манифеста «externally_connectable.matches» .
Особые случаи
-
"<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
.