3 KiB
ipcRenderer
ipcRendererモジュールはEventEmitter クラスのインスタンスです。レンダープロセス(ウェブページ)からメインプロセスに同期、非同期にメッセージを送信できるメソッドを提供します。メインプロセスから返答を受け取ることもできます。
コード例は ipcMain をみてください。
メッセージの受信
ipcRendererモジュールは、イベントを受信するための次のメソッドを持ちます:
ipcRenderer.on(channel, callback)
channelString - イベント名callbackFunction
イベントが発生したとき、任意の引数と eventオブジェクトでcallbackをコールします。
ipcRenderer.removeListener(channel, callback)
channelString - イベント名callbackFunction - 使用したのと同じ関数への参照ipcRenderer.on(channel, callback)
一度メッセージを受信すると、もうコールバックをアクティブにしたくなく、何らかの理由でメッセージ送信を単に止めるには、この関数が指定したチャンネルのコールバックハンドラーを削除します。
ipcRenderer.removeAllListeners(channel)
channelString - The event name.
このipcチャンネルの 全ての ハンドラーを削除します。
ipcMain.once(channel, callback)
ハンドラーの実行のためにipcMain.on()の代わりにこれを使うと、一度だけ発生することを意味し、callbackの一回のコールの後にアクティブにしないのと同じです。
メッセージ送信
ipcRendererモジュールは、イベントを送信するための次のメソッドを持ちます:
ipcRenderer.send(channel[, arg1][, arg2][, ...])
channelString - イベント名arg(optional)
channel
channel経由でメインプロセスに非同期にイベントを送信し、任意の引数を送信できます。メインプロセスはipcMainでchannelを受信することでハンドルします。
ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])
channelString - イベント名arg(optional)
channel経由でメインプロセスに同期的にイベントを送信し、任意の引数を送信できます。
メインプロセスはipcMainでchannelを受信することでハンドルし、 event.returnValueを設定してリプライします。
Note: 同期的なメッセージ送信をすると全てのレンダラ―プロセスがブロックされるので、何をしているか理解できない限り、これを使うべきではありません。
ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])
channelString - イベント名.arg(optional)
ipcRenderer.sendのようですが、メインプロセスの代わりにホストに<webview>エレメントにイベントを送信します。