最简单的方法
沟通是
注意:
(main.js 或 app.js 或 background.js 或 process.js )无需传递(直接将组件传递给组件),我在电子:3.1.10 中成功实现
用于打印 html webview。
窗口到 Web 视图
example1.html
<webview id="paper" style="width:300px;height:800px" src="file:///static/mywebview.html" nodeintegration></webview>
example1.js
var webview = document.getElementById("paper");
webview.send("ping",data);
从 mycomponent 或 window 获取数据(我直接发送表单组件)
mywebview.html
<!---what data you want show----!>
mywebview.js
const {
ipcRenderer
} = require('electron')
//data from window
ipcRenderer.on('ping', (e, data) => { console.log(data) })
webview 到窗口
Webview 到窗口(直接传递给组件)
mywebview.js
ipcRenderer.sendToHost("readyCompanyInfo",data)
在我的窗口中,例如我使用 vue(mycomponent.vue 或 mypage)
example1.html
const ipcRenderer = require("electron").ipcRenderer;
webview.addEventListener("ipc-message",(event)=>{
const {args,channel}=event;
if(channel=="readyCompanyInfo")
{
console.log(channel,args)
//here you can see data what u passed from webview to window
console.log(args[0])
}
})