###electron メインプロセスからレンダラープロセスのデータを持ってくる方法
electronでseva機能を実装しようとしているのですが、どうしてもできないので質問させていただきました。
私はメインプロセスで以下のようにmenuを設定しました。そのsave機能で、レンダラープロセスからdocumentを取得してdom要素にあるデータ保存したいです。
js
1function createWindow() { 2 mainWindow = new BrowserWindow({ 3 ・・・略 4 }); 5 6 mainWindow.loadFile("index.html"); 7 8 mainWindow.on("closed", function() { 9 mainWindow = null; 10 }); 11 // ElectronのMenuの設定 12 const templateMenu =[ 13 submenu: [ 14 { 15 label: "Save", 16 accelerator: "CmdOrCtrl+S", 17 click() { 18 dialog 19 .showSaveDialog(mainWindow, { 20 filters: [{ name: "Json", extensions: ["json"] }] 21 }) 22 .then(result => { 23 if (!result.canceled) { 24 //ここでobjにdocumentから取得したデータをいれたい。 25 var obj = { id: "1", name: "testId", nl: null }; 26 fs.writeFileSync(result.filePath, JSON.stringify(obj), "utf-8"); 27 } 28 }) 29 .catch(err => { 30 console.log(err); 31 }); 32 } 33 }, 34]; 35 36 const menu = Menu.buildFromTemplate(templateMenu); 37 Menu.setApplicationMenu(menu); 38} 39
しかしメインプロセスではドキュメントへのアクセスが禁止しているらしく
js
1document.hoge
とやっても無駄でした。
調べるとremoteやicpなどがあるらしいのですが、それを見てもよくわかりませんでした。参考
どうすればelectron メインプロセスからレンダラープロセスのデータを持ってこれるか、ご教授いただけるとありがたいです・・・・
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。