2.4 KiB
2.4 KiB
Class: Debugger
An alternate transport for Chrome's remote debugging protocol.
Process: Main
Chrome Developer Tools has a special binding available at JavaScript runtime that allows interacting with pages and instrumenting them.
const { BrowserWindow } = require('electron')
let win = new BrowserWindow()
try {
win.webContents.debugger.attach('1.1')
} catch (err) {
console.log('Debugger attach failed : ', err)
}
win.webContents.debugger.on('detach', (event, reason) => {
console.log('Debugger detached due to : ', reason)
})
win.webContents.debugger.on('message', (event, method, params) => {
if (method === 'Network.requestWillBeSent') {
if (params.request.url === 'https://www.github.com') {
win.webContents.debugger.detach()
}
}
})
win.webContents.debugger.sendCommand('Network.enable')
Instance Methods
debugger.attach([protocolVersion])
protocolVersionString (optional) - Requested debugging protocol version.
Attaches the debugger to the webContents.
debugger.isAttached()
Returns Boolean - Whether a debugger is attached to the webContents.
debugger.detach()
Detaches the debugger from the webContents.
debugger.sendCommand(method[, commandParams, callback])
methodString - Method name, should be one of the methods defined by the remote debugging protocol.commandParamsObject (optional) - JSON object with request parameters.callbackFunction (optional) - ResponseerrorObject - Error message indicating the failure of the command.resultAny - Response defined by the 'returns' attribute of the command description in the remote debugging protocol.
Send given command to the debugging target.
Instance Events
Event: 'detach'
eventEventreasonString - Reason for detaching debugger.
Emitted when debugging session is terminated. This happens either when
webContents is closed or devtools is invoked for the attached webContents.
Event: 'message'
eventEventmethodString - Method name.paramsObject - Event parameters defined by the 'parameters' attribute in the remote debugging protocol.
Emitted whenever debugging target issues instrumentation event.