Chrome扩展程序:(DOM)调试程序API不再起作用

时间:2014-09-10 11:33:49

标签: google-chrome google-chrome-extension remote-debugging

自版本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行)。 但是,单击具有单击事件监听器的按钮时,没有任何反应。

过去没有任何问题。

1 个答案:

答案 0 :(得分:3)

它似乎与https://codereview.chromium.org/305753005一起倒退了。一个人需要调用" DOM.enable"现在就可以了。在Chrome方面,我们应该在setEventListenerBreakpoint上隐式启用DOM域以实现向后兼容性。不幸的是,它已经挤进了稳定版本。