events.UrlFilter

描述用於過濾 URL 的各種標準。如果過濾器屬性中指定的所有標準都與 URL 匹配,則該過濾器匹配。過濾器通常以 UrlFilters陣列形式提供給 API 方法。例如,可以使用一個物件作為過濾器來新增 webNavigation 監聽器,該物件有一個名為 url 的屬性,該屬性是 UrlFilters陣列,例如 {url:[UrlFilter, UrlFilter, …]}。如果 UrlFilters 陣列中的任何一個過濾器匹配,則認為該陣列匹配。實際上,單個過濾器中指定的標準是“AND”關係,而陣列中所有單獨的過濾器是“OR”關係。

所有標準都區分大小寫。

型別

此型別的值是物件。它們包含以下屬性:

但是,請注意,最後兩個模式將不會匹配主機名的最後一個元件,因為在主機名末尾沒有新增隱式點。因此,例如,"org." 將匹配 https://borg.com 但不匹配 https://example.org。要匹配這些模式,請使用 hostSuffix

hostContains 可選

string。如果 URL 的主機名(不帶協議或埠 - 請參閱 schemesports)包含給定的字串,則匹配。

  • 要測試主機名元件是否以“foo”開頭,請使用 ".foo"。這會匹配 www.foobar.comfoo.com,因為在主機名開頭添加了一個隱式點。
  • 要測試主機名元件是否以“foo”結尾,請使用 "foo."
  • 要測試主機名元件是否精確匹配“foo”,請使用 ".foo."
hostEquals 可選

string。如果 URL 的主機名與指定字串相等,則匹配。

  • 示例:"www.example.com" 匹配 http://www.example.comhttps://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://mdn.club.tw/,但不匹配 https://developer.fakemozilla.org/
originAndPathMatches 可選

string。如果 URL(不帶查詢段和片段識別符號)與指定的正則表示式匹配,則匹配。如果埠號與預設埠號匹配,則會從 URL 中移除埠號。

urlPrefix 可選

string。如果 URL(不帶片段識別符號)以指定字串開頭,則匹配。如果埠號與預設埠號匹配,則會從 URL 中移除埠號。

  • 示例:"https://developer" 匹配 https://mdn.club.tw/https://developers.facebook.com/
urlSuffix 可選

string。如果 URL(不帶片段識別符號)以指定字串結尾,則匹配。如果埠號與預設埠號匹配,則會從 URL 中移除埠號。請注意,在主機名後會新增一個隱式的正斜槓“/”,因此 "com/" 匹配 https://example.com,而 "com" 不匹配。

schemes 可選

string陣列。如果 URL 的方案與陣列中指定的任何方案相等,則匹配。由於方案始終轉換為小寫,因此此處應始終使用小寫形式,否則將永遠不匹配。

  • 示例:["https"] 將僅匹配 HTTPS URL。
ports 可選

integer 或(integer 陣列)的陣列。一個可能包含整數和整數陣列的陣列。整數被解釋為埠號,而整數陣列被解釋為埠範圍。如果 URL 的埠與任何埠號匹配或包含在任何範圍內,則匹配。

  • 例如:[80, 443, [1000, 1200]] 匹配埠 80、443 和範圍 1000-1200 上的所有請求。

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.events API。本文件源自 Chromium 程式碼中的 events.json