Chrome 扩展:(DOM)调试器 API 不再工作
Posted
技术标签:
【中文标题】Chrome 扩展:(DOM)调试器 API 不再工作【英文标题】:Chrome extension: (DOM)Debugger API does not work anymore 【发布时间】:2014-11-04 00:55:21 【问题描述】:自版本 37.0.2062.103 以来,我们的 chrome 扩展程序不再正常工作(它曾经在 chrome 版本 36.0.1985.143 上正常工作)。
具体来说,当我们使用 DOMDebugger 时,调试器 API 已停止为我们工作。 见附件代码:(background.js)
chrome.tabs.onUpdated.addListener(function(tabId,changeInfo,tab)
if( changeInfo.status == "loading" && tab.active)
var debugId = tabId:tabId;
chrome.debugger.attach(debugId, '1.0', function()
chrome.debugger.sendCommand(debugId, 'Debugger.enable', , function()
chrome.debugger.sendCommand(debugId, "DOMDebugger.setEventListenerBreakpoint", 'eventName':'click',
function(result)
console.log('registering click');
);
);
);
);
chrome.debugger.onEvent.addListener(onEvent);
function onEvent(debuggeeId, method,params)
if(method=="Debugger.paused")
console.log('DONE!');
;
扩展成功启动调试器。我们得到黄色调试器功能区。 我们还在控制台中看到“注册点击”消息。结果参数是一个空对象 (第 8 行)。 但是,单击具有单击事件侦听器的按钮时,没有任何反应。
它以前可以正常工作。
【问题讨论】:
听起来你也应该在crbug.com 上提出问题并在此处添加指向它的链接。 【参考方案1】:它似乎与https://codereview.chromium.org/305753005 一起倒退了。现在需要调用“DOM.enable”才能使其工作。在 Chrome 端,我们应该在 setEventListenerBreakpoint 上隐式启用 DOM 域以实现向后兼容性。不幸的是,它已经挤进了稳定版本。
【讨论】:
这方面有问题吗?如果是,请添加指向它的链接。以上是关于Chrome 扩展:(DOM)调试器 API 不再工作的主要内容,如果未能解决你的问题,请参考以下文章
即使没有 DOM 断点,Chrome 调试器也会在某个函数处停止
使用 chrome 开发者工具在 jquery 中调试 Dom 异常