Spec-Zone.ru › Web Extensions

events.UrlFilter

Описывает различные критерии для фильтрации URL-адресов. Если все критерии, указанные в свойствах фильтра, соответствуют URL-адресу, то фильтр соответствует. Фильтры часто предоставляются методам API в массиве UrlFilter. Например, слушатели webNavigation могут быть добавлены с фильтром, который представляет собой объект с единственным свойством url, являющимся массивом UrlFilter, например, {url:[UrlFilter, UrlFilter, …]}. Если любой фильтр в массиве UrlFilter соответствует, то это считается совпадением для массива. По сути, критерии, указанные в одном фильтре, объединены операцией «И», а все отдельные фильтры в массиве объединены операцией «ИЛИ».

Все критерии чувствительны к регистру.

Тип

Значения этого типа — объекты. Они содержат следующие свойства:

Однако обратите внимание, что эти два последних шаблона не будут соответствовать последней компоненте имени хоста, потому что неявная точка не добавляется в конец имени хоста. Таким образом, например, "org." будет соответствовать https://borg.com, но не https://example.org. Чтобы сопоставить эти шаблоны, используйте hostSuffix.

hostContains Необязательно

string. Соответствует, если имя хоста URL-адреса (без протокола или порта — см. schemes и ports) содержит заданную строку.

  • Чтобы проверить, начинается ли компонент имени хоста с "foo", используйте ".foo". Это соответствует www.foobar.com и foo.com, потому что неявная точка добавляется в начало имени хоста.
  • Чтобы проверить, заканчивается ли компонент имени хоста на "foo", используйте "foo.".
  • Чтобы проверить, точно ли компонент имени хоста соответствует "foo", используйте ".foo.".
hostEquals Необязательно

string. Соответствует, если имя хоста URL-адреса равно заданной строке.

  • Пример: "www.example.com" соответствует http://www.example.com и https://www.example.com/, но не http://example.com/.
hostPrefix Необязательно

string. Соответствует, если имя хоста URL-адреса начинается с заданной строки.

hostSuffix Необязательно

string. Соответствует, если имя хоста URL-адреса заканчивается заданной строкой.

  • Пример: ".example.com" соответствует http://www.example.com/, но не http://example.com/.
  • Пример: "example.com" соответствует http://www.example.com/, и http://fakeexample.com/.
pathContains Необязательно

string. Соответствует, если сегмент пути URL-адреса содержит заданную строку.

pathEquals Необязательно

string. Соответствует, если сегмент пути URL-адреса равен заданной строке.

pathPrefix Необязательно

string. Соответствует, если сегмент пути URL-адреса начинается с заданной строки.

pathSuffix Необязательно

string. Соответствует, если сегмент пути URL-адреса заканчивается заданной строкой.

queryContains Необязательно

string. Соответствует, если сегмент запроса URL-адреса содержит заданную строку.

queryEquals Необязательно

string. Соответствует, если сегмент запроса URL-адреса равен заданной строке.

queryPrefix Необязательно

string. Соответствует, если сегмент запроса URL-адреса начинается с заданной строки.

querySuffix Необязательно

string. Соответствует, если сегмент запроса URL-адреса заканчивается заданной строкой.

urlContains Необязательно

string. Соответствует, если URL-адрес (без идентификатора фрагмента) содержит указанную строку. Номера портов удаляются из URL-адреса, если они совпадают с номером порта по умолчанию.

urlEquals Необязательно

string. Соответствует, если URL-адрес (без идентификатора фрагмента) равен заданной строке. Номера портов удаляются из URL-адреса, если они совпадают с номером порта по умолчанию.

urlMatches Необязательно

string. Соответствует, если URL-адрес (без идентификатора фрагмента) соответствует заданному регулярному выражению. Номера портов удаляются из URL-адреса, если они совпадают с номером порта по умолчанию.

  • Например: urlMatches: "^[^:]*:(?://)?(?:[^/]*\\.)?mozilla\\.org/.*$" соответствует https://mozilla.org/, https://developer.mozilla.org/, но не https://developer.fakemozilla.org/.
originAndPathMatches Необязательно

string. Соответствует, если URL-адрес без сегмента запроса и идентификатора фрагмента соответствует заданному регулярному выражению. Номера портов удаляются из URL-адреса, если они совпадают с номером порта по умолчанию.

urlPrefix Необязательно

string. Соответствует, если URL-адрес (без идентификатора фрагмента) начинается с заданной строки. Номера портов удаляются из URL-адреса, если они совпадают с номером порта по умолчанию.

  • Пример: "https://developer" соответствует https://developer.mozilla.org/ и https://developers.facebook.com/.
urlSuffix Необязательно

string. Соответствует, если URL-адрес (без идентификатора фрагмента) заканчивается заданной строкой. Номера портов удаляются из URL-адреса, если они совпадают с номером порта по умолчанию. Обратите внимание, что неявный слеш "/" добавляется после хоста, поэтому "com/" соответствует https://example.com, но "com" — нет.

schemes Необязательно

array из string. Соответствует, если схема URL-адреса равна любой из указанных в массиве схем. Поскольку схемы всегда преобразуются в нижний регистр, это всегда должно быть указано в нижнем регистре, иначе оно никогда не будет соответствовать.

  • Пример: ["https"] будет соответствовать только URL-адресам HTTPS.
ports Необязательно

array из (integer или (array из integer)). Массив, который может содержать целые числа и массивы целых чисел. Целые числа интерпретируются как номера портов, а массивы целых чисел — как диапазоны портов. Соответствует, если порт URL-адреса соответствует любому номеру порта или содержится в любом диапазоне.

  • Например: [80, 443, [1000, 1200]] соответствует всем запросам на порты 80, 443 и в диапазоне 1000-1200.

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
UrlFilter Да 79 50 ? Да 14 ? ? 50 ? 15 ?

Примечание: Этот API основан на API chrome.events Chromium. Данная документация получена из events.json кода Chromium.

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/events/UrlFilter

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API