【问题标题】:Chrome extension: (DOM)Debugger API does not work anymoreChrome 扩展:(DOM)调试器 API 不再工作
【发布时间】: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 上提出问题并在此处添加指向它的链接。

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


【解决方案1】:

它似乎与https://codereview.chromium.org/305753005 一起倒退了。现在需要调用“DOM.enable”才能使其工作。在 Chrome 端,我们应该在 setEventListenerBreakpoint 上隐式启用 DOM 域以实现向后兼容性。不幸的是,它已经挤进了稳定版本。

【讨论】:

  • 这方面有问题吗?如果是,请添加指向它的链接。
猜你喜欢
  • 2015-07-22
  • 2015-09-12
  • 2013-02-18
  • 2012-11-25
  • 2021-06-19
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多