如何在电子 js 浏览器窗口上添加自定义属性?

zer*_*r09 3 electron

我尝试在主浏览器窗口上添加自定义属性,但是当我尝试访问时,我只是未定义。

在创建主窗口后,我添加了一个自定义属性。

let win = new electron.BrowserWindow();
win.sampleProperty = 'sample value';
Run Code Online (Sandbox Code Playgroud)

但是在访问它时无法检索sampleProperty.

let bw = browserWindow.getFocusedWindow();
console.log(bw.sampleProperty) // This is undefined
Run Code Online (Sandbox Code Playgroud)

我使用了getFocusedWindow()因为它会在菜单点击时触发。

我在这里缺少的为什么bw.sampleProperty未定义。

谢谢。

zer*_*r09 6

我只是结束应用程序将属性添加到 browserWindowOptions

这是如何做到的:

在创建时,browserWindow只需在构造函数上添加您的属性。

let win = new electron.BrowserWindow({
  show: false,
  customProperty: 'sample' // And here it is.
});
Run Code Online (Sandbox Code Playgroud)

然后就可以访问了 browserWindowOptions

let customProp = BrowserWindow.getFocusedWindow()
                 .webContents
                 .browserWindowOptions.customProperty;
Run Code Online (Sandbox Code Playgroud)