我正在尝试使用chrome.debugger构建一个扩展,以将页面请求显示为树。 我希望能够指定动态iframe的父级,即创建它的脚本,而不是它所在的框架。 为此,我想我需要使用Chrome调试协议的DOMDebugger域插入DOM断点,但我找不到任何关于如何使用setEventListenerBreakpoint方法的示例。
使用以下代码:
chrome.debugger.sendCommand(
{tabId:currentTabId},'DOMDebugger.setEventListenerBreakpoint',{eventName:'subtree-modified'},function(a){
console.dir(arguments);
});
回调只调用一次,空对象作为参数。
我应该如何使用setEventListenerBreakpoint?
答案 0 :(得分:1)
最后,我使用一组不同的工具间接完成了它: - 获取每个页面请求(事件" Network.requestWillBeSent") - 在页面中获取每个脚本(事件" Debugger.scriptParsed")
如果页面请求有一个启动器,并且有可用的堆栈帧,我可以获得它导致该请求的脚本。 如果请求和脚本属于不同的frameId,则表示脚本正在修改(生成请求),位于不同的帧中。 所以我假设整个iframe是由该脚本创建的(其他条件是必需的,如iframe url ==" about:blank"等) 我猜有些情况下这个假设是假的,但是我认为我能越接近。