Javascript Chrome开发工具扩展-开发工具关闭事件

Javascript Chrome开发工具扩展-开发工具关闭事件,javascript,google-chrome,google-chrome-extension,google-chrome-devtools,Javascript,Google Chrome,Google Chrome Extension,Google Chrome Devtools,我正在写ChromeDevTools插件 devtools.js chrome.devtools.panels.create("Override Debug", null, "panel.html", (panel) => { panel.onShown.addListener(addDebugger); panel.onHidden.addListener(destroyDebugger); } ); 所以,当用户导航到devtools中的覆盖调试选项卡

我正在写ChromeDevTools插件

devtools.js

chrome.devtools.panels.create("Override Debug",
  null,
  "panel.html",
  (panel) => {
    panel.onShown.addListener(addDebugger);
    panel.onHidden.addListener(destroyDebugger);
  }
);
所以,当用户导航到devtools中的
覆盖调试
选项卡时,我正在初始化调试器。 当用户离开我的devtool时,我将放弃调试器-,它工作得很好

现在问题来了,当用户导航到
Override Debug
并完全关闭devtools时,调试器仍然处于活动状态,使得页面没有响应

我试图在
面板
对象
chrome中查看事件。devtools
对象还尝试了整个github,以查看是否存在此类事件。不走运

是否有任何事件监视devtools close事件以丢弃我附加的调试器

更新1

尝试附加
检查器。按如下方式启用
命令,但没有成功。它从未收到
Inspector.detached
消息

function addDebugger() {
  chrome.tabs.getSelected(null, function(target) {
    debuggee = { tabId: target.id };

    chrome.debugger.attach(debuggee, "1.2", () => {
      chrome.debugger.sendCommand(debuggee, "Network.setRequestInterception", { patterns: [{ urlPattern: '*' }] });
      chrome.debugger.sendCommand(debuggee, "Inspector.enable");
    });



    chrome.debugger.onEvent.addListener((source, method, params) => {
      if (source.tabId === target.id) {
        if (method === "Network.requestIntercepted") {
          // Do many things
        } else if (method === "Inspector.detached") {
          destroyDebugger();
        }
      }
    })
  });
}


中的简单方法(您需要使用chrome.devtools.inspectedWindow.eval插入该代码)。另一个解决方案可能是使用
chrome.debugger
API并发送
Inspector.enable
命令,然后监视
Inspector.detached
事件,.@wOxxOm这个链接在地球上的什么地方隐藏!!!!谢谢分享,但不幸的是,这对我不起作用。用我尝试过的方法更新了我的问题。中的简单方法(您需要使用chrome.devtools.inspectedWindow.eval插入该代码)。另一个解决方案可能是使用
chrome.debugger
API并发送
Inspector.enable
命令,然后监视
Inspector.detached
事件,.@wOxxOm这个链接在地球上的什么地方隐藏!!!!谢谢分享,但不幸的是,这对我不起作用。用我的尝试更新了我的问题。