Chrome扩展中Ctrl+Space快捷键切换侧边面板,面板无法隐藏的问题求助
Chrome扩展中Ctrl+Space快捷键切换侧边面板,面板无法隐藏的问题求助
我想开发一个Chrome扩展,通过按下Ctrl+Space快捷键来显示和隐藏侧边面板,我写了如下代码:
background.js
var sidePanelOpen = false; chrome.commands.onCommand.addListener((command) => { console.log(`Command: ${command}`); if (!sidePanelOpen) { chrome.tabs.query({ active: true, currentWindow: true }, ([tab]) => { chrome.sidePanel.open({ tabId: tab.id }); }); sidePanelOpen = true; } else { chrome.tabs.query({ active: true, currentWindow: true }, ([tab]) => { console.log(`Disabling sidepanel: ${tab.id}`); chrome.sidePanel.setOptions({ tabId: tab.id, enabled: false }); console.log(`Disabled sidepanel: ${tab.id}`); }); sidePanelOpen = false; } });
manifest.json
{ "name": "Test Side Panel", "version": "1.0", "manifest_version": 3, "permissions": [ "sidePanel", "storage", "tabs", "scripting" ], "background": { "service_worker": "background.js" }, "side_panel": { "default_path": "panel.html" }, "host_permissions": [ "<all_urls>" ], "commands": { "toggle-side-panel": { "suggested_key": { "default": "Ctrl+Space", }, "description": "Toggle side panel" } } }
目前侧边面板能正常打开,但第二次按下Ctrl+Space时无法隐藏。控制台里能打印出禁用相关的日志,但实际操作没有效果。请问我哪里写错了?
备注:内容来源于stack exchange,提问作者Marcin Barczyński
相关产品推荐
相关产品推荐

