将 API 添加到 Electron 框架中的铬构建中

Adding API's to chromium build in Electron framework

我想在 Window API 中用 Chromium 源代码编写自定义函数。那我们要怎么做呢?

如果对 window API 有疑问,这里 link 就是我的意思 click here。我想要自定义 属性 函数,类似于 link.

中显示的函数

它用于 github 电子项目。

由于 JS 是面向原型的,您可以简单地扩展 BrowserWindow API

var BrowserWindow = require('electron').BrowserWindow; // main process
var BrowserWindow = require('electron').remote.BrowserWindow; // renderer process

BrowserWindow.foo = function() {
    console.log('foo');
}

不确定您是否正在寻找更具体的内容,但我不确定您是否可以扩展它并对系统产生重大影响,您能否准确解释您正在尝试做什么?

经过一周的搜索,我终于找到了解决方案。感谢 magicae@github.

的拉取请求

您需要在

中创建您的自定义函数
electron/atom/browser/api/lib/atom_api_web_contents.cc

如说

bool WebContents::GetOkOk() {
  return true;
}

并在它的头文件中定义相同的内容

electron/atom/browser/api/lib/atom_api_web_contents.h

作为

bool GetOkOk();

最后,您需要通过

中的 webContents 方法导出函数
electron/atom/renderer/lib/web-view/web-view.js

作为

/* Public-facing API methods. - modified by Akshay Thakare */
  methods = ['getOk','getURL', ... ];

你很高兴。

最后在你编译你的 electron 应用程序后,

在main.js文件中添加,

console.log(mainWindow.webContents.getOk());

大功告成。