5

自從版本37.0.2062.103(它用於在Chrome版本36.0.1985.143上正常工作)以來,我們的擴展程序無法正常工作。Chrome擴展:(DOM)調試器API不起作用

具體來說,當我們使用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行)。 然而,點擊一個具有點擊事件監聽器的按鈕後,什麼都不會發生。

它曾經工作沒有任何問題。

+1

聽起來像你應該也在https://crbug.com上提出問題,並在這裏添加一個鏈接。 – Xan 2014-09-10 11:42:59

回答

3

它看起來像是倒退了https://codereview.chromium.org/305753005。需要調用「DOM.enable」才能使其工作。在Chrome方面,我們應該在setEventListenerBreakpoint的基礎上隱式啓用DOM域以實現向後兼容。不幸的是,它已經擠進了穩定的版本。

+0

有關於此的錯誤嗎?如果是,請添加一個鏈接。 – Xan 2014-09-11 06:24:30