自版本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!');
}
};
扩展程序成功启动调试程序。我们得到黄色调试器功能区。 我们还在控制台中看到“注册点击”消息。 result参数是一个空对象{}(第8行)。 但是,单击具有单击事件监听器的按钮时,没有任何反应。
过去没有任何问题。
答案 0 :(得分:3)
它似乎与https://codereview.chromium.org/305753005一起倒退了。一个人需要调用" DOM.enable"现在就可以了。在Chrome方面,我们应该在setEventListenerBreakpoint上隐式启用DOM域以实现向后兼容性。不幸的是,它已经挤进了稳定版本。