Определение шаблонов соответствия для расширения для доступа к URL-адресам файлов

Надстройка (расширение) Microsoft Edge может запрашивать доступ к URL-адресам file . Чтобы включить эту функцию, необходимо явно настроить этот доступ. Доступ к file URL-адресам не выполняется автоматически. Перейдите на страницу Управление расширениями на веб-сайте надстроек Microsoft Edge, чтобы выбрать file доступ к каждому расширению Microsoft Edge, запрашивающего доступ к file URL-адресам.

Для надстроек (расширений) Microsoft Edge сопоставление разрешений узла и скрипта содержимого работает следующим образом.

Разрешения узла и сопоставление скриптов содержимого основаны на наборе URL-адресов, определенных шаблонами соответствия. Шаблон соответствия — это, по сути, URL-адрес, который начинается с разрешенной схемы (http, https, fileили ftp, и), которая может содержать символы "*". Специальный шаблон <all_urls> соответствует любому URL-адресу, который начинается с разрешенной схемы. Каждый шаблон соответствия состоит из 3 частей:

  • scheme — например, http или или file*

  • _host_ — например, www.google.com или *.google.com или *; если схема является файлом, отсутствует часть узла.

  • _path_ — например, /*, /foo*или /foo/bar. Путь должен присутствовать в разрешении узла, но всегда обрабатывается как /*.

Базовый синтаксис

Базовый синтаксис:

<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>

Значение * зависит от того, находится ли он в схеме, узле или в части пути. Если схема имеет значение *, то она соответствует либо http или https, а не file, или ftp. Если узел является только *, то он соответствует любому узлу. Если узел имеет значение *.hostname, то он соответствует указанному узлу или любому из поддоменов. В разделе пути каждый из них * соответствует 0 или более символам. В следующей таблице показаны некоторые допустимые шаблоны.

Примеры допустимых шаблонов

Шаблон Что делает Примеры сопоставления URL-адресов
http://*/* Соответствует любому URL-адресу, использующим схему HTTP http://www.google.com http://example.org/foo/bar.html
http://*/foo* Соответствует любому URL-адресу, использующему схему HTTP, на любом узле при условии, что путь начинается с /foo http://example.com/foo/bar.html http://www.google.com/foo
https://*.google.com/foo*bar Соответствует любому URL-адресу, использующему схему HTTPS, находится на узле (напримерwww.google.com, , docs.google.comили google.com), при условии, что путь начинается с /foo и заканчивается на google.combar https://www.google.com/foo/baz/bar https://docs.google.com/foobar
http://example.org/foo/bar.html Соответствует указанному URL-адресу http://example.org/foo/bar.html
file:///foo* Соответствует любому локальному файлу, путь к которому начинается с /foo file:///foo/bar.html file:///foo
http://127.0.0.1/* Соответствует любому URL-адресу, который использует схему http и находится на узле 127.0.0.1 http://127.0.0.1 http://127.0.0.1/foo/bar.html
*://mail.google.com/* Соответствует любому URL-адресу, который начинается с http://mail.google.com или https://mail.google.com. http://mail.google.com/foo/baz/bar https://mail.google.com/foobar
<all_urls> Соответствует любому URL-адресу, использующим разрешенную схему. (Список разрешенных схем см. в начале этого раздела.) http://example.org/foo/bar.html file:///bar/baz.html

Примеры недопустимых шаблонов

Ниже приведены некоторые примеры совпадений шаблонов _invalid_ :

Неправильный шаблон Почему это плохо
http://www.foo.com Нет _path_
http://*foo/bar За "*" в узле может следовать только "." или "/"
http://foo.*.bar/baz Если "*" находится в _host_, он должен быть первым символом.
http:/bar _scheme_ Отсутствует разделитель ('/' должен быть "//")
foo://* Недопустимый _scheme_

Некоторые схемы поддерживаются не во всех контекстах.

Примечание.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой Google и используемой в соответствии с условиями, описанными в международной лицензии Creative Commons Attribution 4.0. Исходная страница находится здесь.

Creative Commons License Эта работа лицензируется по международной лицензии Creative Commons Attribution 4.0.