Firefox WebExtensions tabs.onUpdated 不正确的参数

Firefox WebExtensions tabs.onUpdated incorrect argument

我正在为 firefox 创建一个简单的 webExtension,我想将 tabs.onUpdated 与过滤器一起使用。我从 mozilla 站点复制了一个示例:

const pattern1 = "https://developer.mozilla.org/*";
const pattern2 = "https://twitter.com/mozdevnet";

const filter = {
  urls: [pattern1, pattern2]
}
function handleUpdated(tabId, changeInfo, tabInfo) {
  console.log(`Updated tab: ${tabId}`);
  console.log("Changed attributes: ", changeInfo);
  console.log("New tab Info: ", tabInfo);
}
browser.tabs.onUpdated.addListener(handleUpdated, filter);

当我重新加载我的扩展程序时,我在控制台中收到此错误:

Error: Incorrect argument types for tabs.onUpdated.  background-script.js:14:1
  makeError resource://gre/modules/Schemas.jsm:446:14
  throwError resource://gre/modules/Schemas.jsm:2138:11
  checkParameters resource://gre/modules/Schemas.jsm:2195:7
  addStub resource://gre/modules/Schemas.jsm:2381:21
  <anonymous> moz-extension://78d98d27-294e-4774-9461-dfb3dda97871/background-script.js:14:1

我不知道此 api 中是否有一些更改尚未记录或存在其他问题,可能与权限有关。

这些是我来自 manifest.json 的权限:

"permissions": ["activeTab", "notifications", "tabs"]

从 Firefox 61 开始支持额外参数:https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/onUpdated

如果您想支持旧版本,您应该在 onUpdated 侦听器中使用 "if" 语句。