在浏览器插件使用中,可能需要使用cdp协议中一些事件监控,是否有方式可以通过在浏览器后台命令(mv3)这个模块,更新浏览器插件后台提前声明的全局变量,返回浏览器后台声明的全局变量,这样就可以通过主动在浏览器插件后台运行这些事件监控来完成一些不太好封装成脚本的cdp命令,如:关闭弹窗,填写文件框,获取响应数据,获取框架id等
function handleDebuggerEvent(source, method, params) {
//监控浏览器弹窗
if (method === "Page.javascriptDialogOpening") {
//传递需要更新全局变量用来关闭弹窗(点击确定或取消)
chrome.debugger.sendCommand(source, "Page.handleJavaScriptDialog",{"accept": window.aa})
};
//监控浏览器文件框
if (method === 'Page.fileChooserOpened') {
//传递需要更新全局变量用来上传文件路径
chrome.debugger.sendCommand(source, "DOM.setFileInputFiles", {"backendNodeId":params.backendNodeId,"files":window.bb})
};
}