2017-05-09 2 views
4

私は非常に基本的な電子アプリケーションを書いています - 標準的なhello world型です。基本的に "Hello、World"と言うHTMLファイルがあり、電子内の "app"ディレクトリにあり、読み込まれますアプリを実行するとmain.jsから電子 - 私のアプリケーションがメインプロセスとレンダラープロセスと通信できますか?

ここで、アプリケーション内のjavascriptからこれらのプロセス(メインまたはレンダラー、好ましくは両方)と通信できるようにしたいとします。私は実際にそれについてオンラインで何かを見つけることはできませんが、私の主な問題は、私が最初に何を探しているのか本当に知りませんかもしれないということかもしれません。私はエレクトロンにとって非常に新しいです。

+0

あなたは "IPC"(プロセス間通信)で検索すると、 "電子"。それを行う方法はたくさんあります。この人には、Electron:http://electron.rocks/video-series/のipc、debuggingなどの素晴らしいビデオ/ブログのチュートリアルがたくさんあります –

答えて

3

あなたはメインプロセスと他のブラウザウィンドウについて話していると思います。

BrowserWindow.webContents.send(channel[, arg1][, arg2][, ...])を使用すると、メインプロセスからブラウザウィンドウにメッセージを送信し、ipcRendererを使用してメッセージを受信できます。この例を見てみましょう:

メインプロセス:

subWindow.webContents.send("foo","bar"); 

BrowserWindowsubWindowと呼ばれる:

var ipc=require("electron").ipcRenderer; 
ipc.on("foo",(event, arg1) => { 
    console.log(arg1); //Outputs "bar" 
}); 

あなたがremote.app.emitを使用し、メイン処理にブラウザウィンドウからデータを送信したいときに。 app.onを使用して受信します。同じ例:

メインプロセス:

var app=require("electron").app; 
app.on("test",(arg) => { 
    if (arg=="hey!") console.log("ha!"); 
} 

サブウィンドウ:

require("electron").remote.app.emit("test","hey!"); 
関連する問題