クラス: Debugger
クラス: Debugger
Chromeのリモートデバッグプロトコルに対する選択肢の1つ。
Process: Main
This class is not exported from the 'electron'
module. Electron API では、他のメソッドの戻り値としてのみ利用できます。
Chromeの開発者ツールは、ページと相互にやり取りをしたり、ページを調整したりすることのできるJavaScriptランタイムに特別なバインディングを持っています。
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')
インスタンスイベント
イベント: 'detach'
戻り値:
event
Eventreason
string - デバッガーをデタッチする理由。
デバッグセッションが終了したときに発生します。 これは、webContents
がクローズされるか、アタッチしていた webContents
に対して開発者ツールが呼び出されるときに発生します。
イベント: 'message'
戻り値:
event
Eventmethod
string - メソッド名。params
any - リモートデバッグプロトコルの 'parameters' 属性で定義されたイベントパラメータ。sessionId
string - アタッチされたデバッグセッションの一意な識別子で、debugger.sendCommand
から送られる値と同じです。
デバッグ対象で計測イベントが生じる毎に発生します。
インスタンスメソッド
debugger.attach([protocolVersion])
protocolVersion
string (任意) - リクエストしたデバッグプロトコルのバージョン。
webContents
にデバッガーをアタッチします。
debugger.isAttached()
戻り値 boolean
- webContents
にデバッガーがアタッチされているかどうか。
debugger.detach()
webContents
からデバッガーをデタッチします。
debugger.sendCommand(method[, commandParams, sessionId])
method
string - メソッド名。リモートデバッグプロトコル で定義されているメソッドのいずれかである必要があります。commandParams
any (任意) - リクエストパラメータの JSON オブジェクト。sessionId
string (任意) - デバッグセッション ID に関連付けられたターゲットにコマンドを送信します。 初期値は Target.attachToTarget メッセージを送信することで取得できます。
戻り値 Promise<any>
- リモートデバッグプロトコル内のコマンドの説明の 'returns' 属性で定義されたレスポンスで解決されるか、またはコマンドの失敗を示すために拒否されるプロミス。
指定したコマンドをデバッグ対象に送信します。