- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的网络应用程序使用 ipcRender.send
向监听 Electron ipcMain.on
询问来自系统的值。该过程是异步的,因此一旦 Electron 从系统中获取值,它就会发起对应用程序的回调。传递值的更清洁方法是什么?我应该使用什么方法,为什么?
监听事件
应用程序window.myFunction = data => setState(data)
ipcRenderer.on('my-function', (ev, data) => window.myFunction(data));
Electron
mainWindow.webContents.send('my-function', value)
函数调用
应用程序window.myFunction = data => setState(data)
Electron
mainWindow.webContents.executeJavaScript(`myFunction(${data});`)
最佳答案
我认为主要区别在于 ipcRenderer.on
更加灵活和可扩展,因为它允许您使用 ipcRenderer
模块,它是 EventEmitter< 的一个实例
。它可以添加、删除监听器(订阅者)。它还允许您同时发送同步和异步消息。
webContents.executeJavaScript
根据我的发现,您可以移除某些 HTML API 方法的限制,这些方法只能通过用户的手势调用。
例如。 请求全屏
:
webContents.executeJavaScript(code[, userGesture])
将 userGesture
设置为 true
将消除此限制。
关于javascript - webContents.send 与 webContents.executeJavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43541320/
在最近的一个 Electron 项目中开始对我的 js 文件进行排序时,我停止了 webview.executeJavascript webview是一个变量,它是我的 webview 上的 quer
我需要将 NPM 包注入(inject) BrowserView通过使用 executeJavaScript .包裹是Web3这是我迄今为止尝试过的。 import Web3 from 'web3'
当我尝试 browser.ExecuteJavascript("alert('ExecuteJavaScript works!');") 它工作正常(在创建浏览器时弹出警告) .当我尝试 browse
我的网络应用程序使用 ipcRender.send 向监听 Electron ipcMain.on 询问来自系统的值。该过程是异步的,因此一旦 Electron 从系统中获取值,它就会发起对应用程序的
我正在构建一个不能使用webview的应用程序,因为它无法完成我想做的所有事情,而使用mainWindow则可以。 但是,我需要使用整个javascript文件,而不仅仅是文本。 示例: const
大家好,在我的项目中,我有三个 js 文件,main.js、browser.js 和 inject.js,在 browser.js 我已经实现了所有与我的 webview 相关的点击操作和许多功能
我是一名优秀的程序员,十分优秀!