• 类: Debugger
    • 实例方法
      • debugger.attach([protocolVersion])
      • debugger.isAttached()
      • debugger.detach()
      • debugger.sendCommand(method[, commandParams, callback])
    • 实例事件
      • Event: 'detach'
      • Event: 'message'

    类: Debugger

    用于 Chrome 远程调试协议的备用传输。

    进程:主进程

    Chrome Developer Tools 在 JavaScript 运行时提供了一个 special binding , 允许与页面进行交互和检测。

    1. const { BrowserWindow } = require('electron')
    2. let win = new BrowserWindow()
    3. try {
    4. win.webContents.debugger.attach('1.1')
    5. } catch (err) {
    6. console.log('Debugger attach failed : ', err)
    7. }
    8. win.webContents.debugger.on('detach', (event, reason) => {
    9. console.log('Debugger detached due to : ', reason)
    10. })
    11. win.webContents.debugger.on('message', (event, method, params) => {
    12. if (method === 'Network.requestWillBeSent') {
    13. if (params.request.url === 'https://www.github.com') {
    14. win.webContents.debugger.detach()
    15. }
    16. }
    17. })
    18. win.webContents.debugger.sendCommand('Network.enable')

    实例方法

    debugger.attach([protocolVersion])

    • protocolVersion String (optional) - 需要调试的协议的版本
      添加调试器到 webContents

    debugger.isAttached()

    Returns Boolean - 表示调试器是否成功添加到 webContents

    debugger.detach()

    webContents 里分离调试器.

    debugger.sendCommand(method[, commandParams, callback])

    • methodString - 方法名称, 应该是由远程调试协议定义的方法之一。
    • commandParams Object (可选) - 具有请求参数的 JSON 对象。
    • callback Function (可选) - 响应方法

      • error Object - 显示命令失败的错误消息。
      • result Any - 由远程调试协议中的命令描述的“returns”属性定义的响应。
        向调试目标发送给定的命令。

    实例事件

    Event: 'detach'

    • event Event
    • reason String - 分离调试器的原因
      在调试会话终止时发出。当关闭 webContentsthe attached webContents 调用 devtools 时, 都会发生这种情况。

    Event: 'message'

    • event Event
    • method String - 方法名.
    • params Object - 由远程调试协议中的 parameters 属性定义的事件参数。
      当调试目标问题时发送