【发布时间】:2016-05-11 16:59:32
【问题描述】:
我想在 Window API 中用 chromium 源代码编写自定义函数。那么我们该怎么做呢?
如果对窗口 API 有疑问,这里是我的意思 click here 的链接。我想拥有类似于链接中显示的自定义属性函数。
这是一个 github 电子项目。
【问题讨论】:
标签: google-chrome chromium electron
我想在 Window API 中用 chromium 源代码编写自定义函数。那么我们该怎么做呢?
如果对窗口 API 有疑问,这里是我的意思 click here 的链接。我想拥有类似于链接中显示的自定义属性函数。
这是一个 github 电子项目。
【问题讨论】:
标签: google-chrome chromium electron
经过一周的搜索,我终于找到了解决方案。感谢 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', ... ];
你可以走了。
最后在你编译完你的电子应用之后,
在main.js文件中添加,
console.log(mainWindow.webContents.getOk());
你完成了。
【讨论】:
由于 JS 是面向原型的,您可以简单地扩展 BrowserWindow API
var BrowserWindow = require('electron').BrowserWindow; // main process
var BrowserWindow = require('electron').remote.BrowserWindow; // renderer process
BrowserWindow.foo = function() {
console.log('foo');
}
不确定您是否正在寻找更具体的东西,但我不确定您是否可以扩展它并对系统产生重大影响,您能否准确解释一下您要做什么?
【讨论】: