Шаблон соответствия – это 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.