从电子调用窗口函数

时间:2017-12-11 18:16:30

标签: javascript global-variables electron global electron-packager

在一个.js文件中我有

window.functionName = function(){

}

现在我想调用主电子文件中的函数。我怎么能这样做?

以下是我在主电子文件中尝试做的事情:

const electron = require('electron');
const BrowserWindow = electron.BrowserWindow; 
var focusedWindow = BrowserWindow.getFocusedWindow();
focusedWindow.functionName();

它不起作用。为什么呢?

1 个答案:

答案 0 :(得分:1)

getFocusedWindow返回BrowserWindow个对象。 BrowserWindow是电子的窗口对象,而不是实际浏览器的全局上下文 - 因此,没有window.全局对象自动在BrowserWindow中公开。您可能需要的是通过webContents获取focusedWindow.webContents,然后让渲染器进程通过executeJavaScript方法执行您的javascript。主进程和渲染进程(browserWindow)是独立的进程,因此您无法立即调用函数,但必须要求它。