类: Debugger
类: Debugger
备用的 Chrome 远程调试接口。
Process: Main
This class is not exported from the 'electron'
module. 它只能作为 Electron API 中其他方法的返回值。
Chrome Developer Tools 在 JavaScript 运行时提供了一个 special binding , 允许与页面进行交互和检测。
const { BrowserWindow } = require('electron')
const 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')
实例事件
Event: 'detach'
返回:
event
Eventreason
string - 拆离 debugger 的原因。
调试会话终止时激活 发生在对应的webContents
关闭或者调用 devtools 时,。
Event: 'message'
返回:
event
Eventmethod
string - 方法名。params
any - 远程调试协议中的 parameters 属性定义的事件参数。sessionId
string - 附加的调试会话的唯一标识符,将与从debugger.sendCommand
发送的值匹配。
当正在调试的目标发出条件检测事件时触发。
实例方法
debugger.attach([protocolVersion])
protocolVersion
string (可选) - 需要调试的协议版本。
添加调试器到 webContents
。
debugger.isAttached()
返回 boolean
- debugger 是否附加到 webContents
。
debugger.detach()
从 webContents
里分离调试器.
debugger.sendCommand(method[, commandParams, sessionId])
method
string - 方法名,应该是一个被 remote debugging protocol 定义的方法。commandParams
any (可选) - 具有请求参数的 JSON 对象。sessionId
string (可选) - 命令发送到具有关联调试会话 Id 的目标。 The initial value can be obtained by sending Target.attachToTarget message.
返回 Promise<any>
- 一个 promise,远程调试协议中的命令描述的“returns”属性定义的响应,或者显示命令失败的错误消息。
向调试目标发送给定的命令。