将HTML片段加载到Electron中

jfi*_*fix 4 javascript electron

我正在尝试开发一种支持基本插件体系结构的Electron应用程序。该main.js过程将加载一个基本上为空的“欢迎”页面,除了标题的某种标题部分外,该页面还包含一个列出可用插件的下拉菜单。

每个插件都有其自己的renderer.js文件,配置数据等。它还提供了必要的HTML以在内显示div#plugin-container。我希望渲染器进程将HTML片段加载到上述内的现有网页中div

我知道这win.loadURL()main.js唯一的,它会加载HTML来填充整个窗口。我希望将片段加载到现有页面中。jQuery具有满足$('div#plugin-container').load()我需要的方法,但据我所知,它仅从服务器加载HTML。我想从Electron应用程序中加载它。

有任何想法吗?

披露:我以前发布的这条消息对原子讨论区在这里,但希望能得到从SO社区更好的响应。

lim*_*gni 6

无论您以何种方式访问​​HTML,只要将其解析为字符串,都可以始终在页面中呈现它。如果要读取文件,可以执行以下操作:

const fs = require('fs')

fs.readFile('path/to/thehtml.html', (err, data) => {
   document.getElementById('some-element').innerHTML = data
})
Run Code Online (Sandbox Code Playgroud)

如果希望用户选择文件,则应使用Electron的dialogAPI,该API允许您通过对话框提示用户选择文件。或者,您也可以输入内容,他们可以在其中输入文字并从中读取内容。