5

La nostra estensione chrome non funziona più correttamente dalla versione 37.0.2062.103 (funzionava correttamente su Chrome versione 36.0.1985.143).Estensione Chrome: (DOM) L'API Debugger non funziona più

In particolare, l'API del debugger ha smesso di funzionare per noi quando utilizziamo DOMDebugger. Vedere il codice allegato: (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!'); 
    } 
}; 

L'estensione si avvia correttamente il debugger. otteniamo il nastro giallo del debugger. Vediamo anche il messaggio 'registrazione clic' nella console. l'argomento risultato è un oggetto vuoto {} (riga 8). Tuttavia, quando si fa clic su un pulsante con un listener di eventi click non accade nulla.

Funzionava senza problemi.

+1

Sembra che si dovrebbe anche presentare un problema su https://crbug.com e aggiungere un collegamento ad esso qui. – Xan

risposta

3

Sembra regredire con https://codereview.chromium.org/305753005. Uno ha bisogno di chiamare "DOM.enable" per farlo funzionare ora. Sul lato Chrome, dovremmo abilitare implicitamente il dominio DOM su setEventListenerBreakpoint per la compatibilità all'indietro. Sfortunatamente è già entrato nella versione stabile.

+0

C'è un bug riguardo questo? Se sì, si prega di aggiungere un link ad esso. – Xan

Problemi correlati