我有以下代码使用 BrowserWindow.loadURL()
方法在BrowserWindow中呈现第三方网站 . 一旦加载,我怎么能 require()
或以其他方式导入到渲染过程代码/一个模块,该模块会将侦听器添加到各种DOM元素,以允许我操作来宾网站并对来宾网站中的事件做出反应?
我知道可以使用包含 webview
标记的 index.html
文件加载BrowserWindow以在单独的进程中加载第三方站点,然后使用 preload
属性和消息传递系统来执行命令并来回通信 .
但是,我的用例,只有一个网站,我将允许用户访问并且它是可信的,所以我希望使用来自正常渲染过程的直接JS dom事件监听器与它进行交互的更清晰,更直接的方式或者从主要过程 .
我的用例包括将我们的内部支持应用程序插入基于Web的消息服务,以帮助人们查找信息并自动填充预设响应等 .
main.js
:
```java
var win = new BrowserWindow({
width: width,
height: height,
title: title,
webPreferences: {
partition: 'persist:albert-support'
}
});
win.on('show', () => {
// Attach listeners here somehow?; better would be to point it to a render.js file
});
win.loadURL(url);
// Close app if any one window is closed
win.on('closed', () => {
app.quit();
});
return win;