Javascript Chrome开发工具扩展-开发工具关闭事件
我正在写ChromeDevTools插件 devtools.jsJavascript 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中的覆盖调试选项卡
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这个链接在地球上的什么地方隐藏!!!!谢谢分享,但不幸的是,这对我不起作用。用我的尝试更新了我的问题。