declarativeNetRequest.testMatchOutcome

检查扩展程序的 declarativeNetRequest 规则是否会匹配一个假设的请求。仅在测试时可用,因为此功能旨在用于扩展开发。有关如何在每个浏览器中启用测试的详细信息,请参阅 Testing

语法

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

参数

请求

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

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 会以错误消息被拒绝。

示例

浏览器兼容性