我希望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));