如何从WebView内的受控在线网页调用Electron进程函数?
Electron WebView 内在线网页调用渲染/主进程函数
我的Electron应用渲染进程中包含<webview>组件,主进程与渲染进程通过IPC通信,未使用remote模块且nodeIntegration=false。该<webview>加载的是我本人管控的在线网站,现需实现从该在线网页调用Electron渲染进程或主进程中的指定函数。
示例代码
在线HTML网页
<script> var arg1 = ....getAsyncFrom...(); // 从网页异步获取数据 function callHandler(arg1, arg2...) { window.myElectronApp.callHandlerFromWeb(arg1, arg2); } </script>
Electron应用(渲染进程中)
let myWebViewControl = document.getElementById('myWebView'); // 出于安全考虑,显式指定允许调用的方法名"callHandlerFromWeb" sampleCallBack.response("callHandlerFromWeb", (arg1, arg2..) => { callHandlerInsideElectron(arg1, arg2...); }); function callHandlerInsideElectron(arg1, arg2) { console.log("从网页调用了处理函数:" + arg1 + arg2); }
补充说明
- 我并非询问如何从渲染进程调用主进程函数,而是要实现WebView内的在线网页调用Electron应用的带参函数。
- Flutter WebView已支持该功能,这并非新需求,也不存在高危风险。
内容的提问来源于stack exchange,提问作者klados
相关产品推荐
相关产品推荐

