Webframe executeJavascript传递对象

时间:2018-05-31 16:36:43

标签: electron

我正在添加contextIsolation,因为我正在我的网页视图中加载远程内容。

在预加载脚本中使用webFrame.executeJavascript(...),如何将不可序列化的对象传递到内部网页的上下文?

更具体地说,这是我的例子:

preload.js:

// In the preload.js context
const { ipcRenderer, webFrame } = require('electron')
const ipc = {
  send (data) {
    ipcRenderer.sendToHost(...)
  }
}
// Now I want to pass down ipc to the webpage's context
// This webpage is expecting window.myApp.ipc, so that it could use it like window.myApp.ipc.send(...)
webFrame.executeJavaScript(`window.myApp.ipc = ${ipc}`); // Doesn't work.

1 个答案:

答案 0 :(得分:0)

无法通过executejavascript发送不可序列化的对象。如果您的预加载脚本适用于webview,则可以将一些对象附加到window以进行全局访问。