Chome扩展名:显示页面操作如果推荐人URL是Google



我希望Chrome Extension Page Action显示推荐子URL是否为Google,但我的代码不起作用。

subtest.json

 "description": "Shows a page action if referrer url is google.",
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "page_action" :
  {
    "default_icon" : "icon-19.png",
    "default_title" : "The referrer is Google!"
  },
  "permissions" : [
    "declarativeContent",
    "tabs"
  ],
  "icons" : {
    "48" : "icon-48.png",
    "128" : "icon-128.png"
  },
  "manifest_version": 2
}

背景.js

chrome.runtime.onInstalled.addListener(function() {
  chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
    chrome.declarativeContent.onPageChanged.addRules([
      {
          if ('document.referrer' == "https://www.google.*") {
              new chrome.declarativeContent.ShowPageAction()
          }
      }
    ]);
  });
});

我希望页面操作显示推荐子URL是否为Google。请帮助。

'document.referrer' == "https://www.google.*"是一个no-op,因为您只是在比较两个不同的字符串,它们将永远不会彼此相等。

与此同时,在声明的内容API中,您可以根据URL和CSS选择器显示出pageaction,这并不意味着您可以在网页中访问document对象。

您需要使用 chrome.pageAction.show,要获取转介器,您可以调用

chrome.tabs.executeScript(TAB_ID, {code: 'document.referrer;'}, (result) => console.log(referrer));

最新更新