我正在开发一个Google Chrome扩展程序,您应该可以使用扩展程序工具栏中的符号打开和关闭该功能。此切换应该是通用的,这意味着无论您在何处打开或关闭它,当前状态都将保留在任何地方。无论您在哪个标签页或窗口中,状态都随处可见。就我们的示例而言,我们应该写“我在!”。打开控制台,然后按A键。如果关闭了电源,然后按A,则会显示“我关闭了!”。manifest.json:{ "name": "Test Extension", "version": "1.0", "manifest_version": 2, "description": "Just a test for Stack Overflow.", "browser_action": { "default_icon": "images/icon.png" }, "background": { "scripts": ["background.js"] }, "content_scripts": [ { "matches": ["<all_urls>"], "js": ["content.js"] } ]}background.js:var extensionMode = true;chrome.browserAction.onClicked.addListener(function(tab) { extensionMode = !extensionMode; if(extensionMode) { chrome.browserAction.setIcon({ path : "images/icon.png" }); } else { chrome.browserAction.setIcon({ path : "images/icon_disabled.png" }); } let msg = { extensionMode: extensionMode } chrome.tabs.sendMessage(tab.id, msg);});content.js:var extensionMode = true;chrome.runtime.onMessage.addListener(gotMessage);function gotMessage(message, sender, sendResponse) { extensionMode = message.extensionMode;}onkeydown = onkeyup = function(e){ if(extensionMode) { if(event.keyCode == 65) { // A console.log("I'm on!"); } } else { if(event.keyCode == 65) { // A console.log("I'm off!"); } }}上面的代码在您停留在选项卡中时起作用,但在切换时不起作用...图标将保持禁用状态,但是extensionMode实际上会恢复为true。我在这里做错了什么?这是我尝试做的错误方法吗?
添加回答
举报
0/150
提交
取消