iframe传给electron
parent.postMessage({ type: "getVersion" }, "*");
iframe监听electron传来的值
const _this = this;
window.addEventListener(
"message",
function (event) {
if (event.data.type === "set-version") {
_this.alertVersionMessage(event.data.data);
}
if (event.data.type === "get-screen-size") {
_this.getScreenSize(event.data.data);
}
},
false
);
electron
const messageHandler = async (event) => {
if (event.data.type === 'getVersion') {
const electronVersion = await window.electron.getElectronVersion()
console.log(`Electron version: ${electronVersion}`)
let iframeWindow = document.getElementById('homeView').contentWindow
const message = {
type: 'set-version',
data: electronVersion
}
iframeWindow.postMessage(message, '*')
}
}
如果想使用electoren内置方法,在preload.js页面注入方法
getElectronVersion: async () => {
return await ipcRenderer.invoke('get-app-version')
}, // 添加获取Electron版本的方法
在electron的main.js里获取
ipcMain.handle('get-app-version', () => {
return app.getVersion()
})