chrome.declarativeContent.PageStateMatcher条件不行

chrome.declarativeContent.PageStateMatcher conditions not

我开始学习如何开发 chrome 扩展(清单 3),但我有一些我不明白的结果。 我的最终目标是在特定网站打开时获取 cookie 值,向该网站发送请求(获取)并显示在新选项卡中收到的 json(我开发了一个 javascript发送请求并且它正在工作,但我现在想自动获取带有 chrome 扩展名的 cookie。

要开始我的学习,第一步是在访问网站时打开一个新标签页。我在 background.js 中尝试了以下代码,但是当我激活我的扩展时,即使网站未打开,也不会创建新选项卡,即使我的情况正常,也不会创建新选项卡。然后我想我错过了什么,但我不知道是什么。

有人可以向我解释为什么,我哪里错了,如果不是正确的方法,我应该看到哪个 chrome API?

chrome.runtime.onInstalled.addListener(function () {
  chrome.declarativeContent.onPageChanged.removeRules(undefined, function () {
    chrome.declarativeContent.onPageChanged.addRules([
      {
        conditions: [
          new chrome.declarativeContent.PageStateMatcher({
            pageUrl: { hostEquals: "www.google.com", schemes: ["https"] },
          }),
        ],
        actions: [chrome.tabs.create({})],
      },
    ]);
  });
});

您的代码 actions: [chrome.tabs.create({})] 有误。安装扩展程序时将调用方法 chrome.tabs.create。也许您想在单击扩展时触发 popup.html。如果是这样,您可以使用 actions: [ new chrome.declarativeContent.ShowPageAction() ]。然后使用 chrome.action.onClicked.addListener, see here.

如果你想在打开某个网站时自动打开一个新标签,你可以使用chrome.tabs.onCreated.addListenersee here,处理事件,过滤url,然后做某事.