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