declarativeNetRequest.testMatchOutcome

检查扩展的 declarativeNetRequest 规则中是否有任何规则与假设请求匹配。仅在测试期间可用,因为这旨在用于扩展开发期间。有关如何在每个浏览器中启用测试的详细信息,请参阅 测试

语法

js
let result = await browser.declarativeNetRequest.testMatchOutcome(
    request,                // object
    options                 // optional object
);

参数

request

要测试的请求的详细信息。

initiator 可选

一个 string。假设请求的发起者 URL(如果有)。

method 可选

一个 string。假设请求的标准(小写)HTTP 方法。对于 HTTP 请求,默认为 "get",对于非 HTTP 请求,则忽略。

tabId 可选

一个 number。假设请求发生在其中的选项卡的 ID。无需对应于实际的选项卡 ID。默认为 -1,表示请求与选项卡无关。

type

declarativeNetRequest.ResourceType。假设请求的资源类型。

url

一个 string。假设请求的 URL。

options 可选

请求选项的详细信息。

includeOtherExtensions 可选

一个 boolean。是否在 matchedRules 中包含其他扩展的匹配规则。当其他扩展的规则匹配时,结果 matchedRule 具有 extensionId 属性。默认为 false

返回值

一个 Promise,其结果包含以下属性的对象

matchedRules

declarativeNetRequest.MatchedRule。与假设请求匹配的规则(如果有)的详细信息。

如果没有规则匹配,则 matchedRules 数组为空。如果请求失败,则 promise 会被拒绝并显示错误消息。

示例

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。