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.".
- Чтобы проверить, начинается ли компонент имени хоста с "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