=====contextBridge(main から rendelerの呼び出し)=====
-----
*main.js
*1秒ごとに時間を送信
<pre>
let win = new BrowserWindow({
width: 600,
height: 400,
webPreferences:{
preload: path.join(__dirname, 'preload.js'),
}
});
win.loadFile('index.html');
setInterval(() => {
var now = new Date().toISOString();
console.log(now);
win.webContents.send('timer', now);
}, 1000);
</pre>
*preload.js
<pre>
const electron = require('electron');
const { ipcRenderer, contextBridge /*remote*/ } = electron;
contextBridge.exposeInMainWorld(
"api",
{
on: (channel, callback) => {
ipcRenderer.on(channel, (event, argv)=>callback(event, argv))
}
}
);
</pre>
*index.html
<pre>
window.api.on('timer', (event, time)=>{
document.getElementById('timer').innerText = time;
});
</pre>
==オブジェクト==