[英]webContents.send vs webContents.executeJavaScript
我的网络应用程序使用ipcRender.send
向系统询问电子ipcMain.on
的值。 这个过程是异步的,所以一旦电子得到系统的价值,它就会回到应用程序中。 传递价值的清洁方法是什么? 我应该使用什么方法?为什么?
听取事件
应用 window.myFunction = data => setState(data) ipcRenderer.on('my-function', (ev, data) => window.myFunction(data));
电子
mainWindow.webContents.send('my-function', value)
功能调用
应用 window.myFunction = data => setState(data)
电子
mainWindow.webContents.executeJavaScript(`myFunction(${data});`)
我认为主要区别在于ipcRenderer.on
更灵活和可扩展,因为它允许您使用ipcRenderer
模块,它是EventEmitter
一个实例。 它可以添加,删除侦听器(订阅者)。 它还允许您同时发送 - 同步和异步消息。
我发现的webContents.executeJavaScript
只允许您从某些HTML API方法中删除限制,这些方法只能由用户的手势调用。
对于前者 requestFullScreen
:
webContents.executeJavaScript(code[, userGesture])
将userGesture
设置为true
将删除此限制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.