electron的webview与加载的访客页之间的互相通信

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a250758092/article/details/83014479

webview 调用 加载页 方法通过<webview>.executeJavaScript(code[, userGesture, callback])或者webview.send()发送,而在访客页使用ipcRenderer.on()监听

访客页需要调用webview所在页面的方法,则需要在webview中加上属性 nodeintegration=“true”

当有此属性时, webview 中的访客页(guest page)将具有Node集成, 并且可以使用像 require 和 process 这样的node APIs 去访问低层系统资源。 Node 集成在访客页中默认是禁用的。

然后通过以下方式进行通信:

访客页(被webview加载的资源页面)

const {ipcRenderer} = require('electron')

  ipcRenderer.sendToHost('子页面信息') //向webview所在页面发送消息


webview所在页面

let webview=document.getElementById('test');

webview.addEventListener('ipc-message', (event) => { //ipc-message监听,被webview加载页面传来的信息

  console.log(event.channel)//最终收到消息输出   子页面信息

})

猜你喜欢

转载自blog.csdn.net/a250758092/article/details/83014479