千家信息网

Electron中webview是如何与主进程渲染进程进行事件监听通信

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,Electron中webview是如何与主进程渲染进程进行事件监听通信,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。webview 调用
千家信息网最后更新 2025年01月31日Electron中webview是如何与主进程渲染进程进行事件监听通信

Electron中webview是如何与主进程渲染进程进行事件监听通信,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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

注意、注意、注意:

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

访客页(被webview加载的资源页面)也就是webview中src指定的页面(浏览器页面)

if ( window.require('electron') ) {     let ipcRenderer = window.require('electron').ipcRenderer;     ipcRenderer && ipcRenderer.on('webmsg', (e, msg) => {            console.log(msg,'收到的消息');     });     ipcRenderer && ipcRenderer.sendToHost('我已经收到消息了');}

webview所在页面(客户端页面)

let webview = document.getElementById('test');
webview.addEventListener('ipc-message', (event) => { //ipc-message监听,被webview加载页面传来的信息
console.log(event.channel)//最终收到消息输出 子页面信息
})

如果设置了不生效,请在此确认是否在webview标签上设置了nodeintegration="true"的属性

看完上述内容,你们掌握Electron中webview是如何与主进程渲染进程进行事件监听通信的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0