我在构建chrome扩展程序方面是全新的。我试过建立一些扩展,当我单击它们时它们会起作用。这次,我一直在试图弄清楚如何构建一个开/关扩展插件。
基本上,我要构建的是一个扩展,该扩展在我打开和关闭代码时执行代码(例如:alert('Hi')),并且将继续在每个页面上运行,直到我将其关闭。 / p>
我已经看了很多东西,但是找不到任何可以解释如何做的好资源。 我有清单和html文件,我知道我需要popup.js和background.js文件,但我不知道要放什么。
manifest.json
sqlAlchemy
popup.html
{
"manifest_version": 2,
"name": "Toggle Extension",
"description": "My Personal Toggle Extension",
"version": "1.0.0",
"icons": {
"128": "img/icon_128.png"
},
"browser_action": {
"default icon": "icon.png",
"default_popup": "popup.html"
},
"background": {
"scripts": ["js/background.js"]
}
}
答案 0 :(得分:0)
当我切换代码时执行代码的扩展(例如:alert('Hi')) 打开和关闭,并将继续在每个页面上运行,直到我切换它 关闭。
似乎您必须阅读大量有关此资源的信息:google extension guide 我将以这种方式完成此任务:
因此,很明显,一开始您需要一个内容脚本。将此代码段放入清单文件中:
"content_scripts": [
{
"js": [ "content.js" ],
"matches": [ "<all_urls>" ],
"all_frames": true,
"run_at": "document_end"
}
],
在 content.js 文件的开头写入:
console.log("Hello, Yann!");
chrome.runtime.sendMessage( {myQuestion: "Is it ON or OFF?"}, function(response) {
console.log( "Extension state is: " + response.state); // should be ON
if(response.state !== "ON") return;
// Put the code you want to execute on every tab below:
// ....
});
您的 background.js 文件必须具有以下代码段:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log( "Your question was: " + request.myQuestion );
// here we will get information whether ext is ON or OFF from the popup;
sendResponse({state: "I don't know, but I'll find it out!"});
});
尝试一下,如果可行,我会尝试帮助弹出窗口。