gpt4 book ai didi

javascript - 在 Electron 中加载本地html文件的简单方法

转载 作者:行者123 更新时间:2023-11-29 23:16:19 26 4
gpt4 key购买 nike

我一直在尝试将小型网络应用程序转换为 Electron 应用程序。它工作得很好,除了我需要将一堆文件 (.html) 加载到主 DOM 中。在 webapp 中,我刚刚使用了 $.get ,但我怎么能用 Electron 做呢?我试着查看 DOC,但除了 IPC 管道之外,我找不到一种简单的方法来做到这一点(我不太明白)。

谁能指出我正确的方向?

编辑

我会在这里澄清。我有一个启动 BrowserWindow 的主进程

mainWindow = new BrowserWindow({width: 800, height: 600})

然后,在 js 中通过 <script> 导入的文件标记,我想加载并在对话框中附加一些文件:

$('.dialog').load('pages/hello.html', {})

亲切的问候

最佳答案

在 Electron 中你可以使用 fs.readFile

所以:

const fs = require('fs');
const { promisify } = require('util');
const path = require('path');
const readFile = promisify(fs.readFile);

async function loadHTML(html){
const render = await readFile(path.join(__dirname, html), 'utf-8');
const parser = new DOMParser();
const childrenArray = parser.parseFromString(render,'text/html').querySelector('body').childNodes;
const frag = document.createDocumentFragment();
childrenArray.forEach(item => {
frag.appendChild(item);
});
document.body.appendChild(frag);
};

loadHTML('/path/to/my/index.html');

如果我没有打字错误,它应该可以工作。它将文件作为字符串读取,因此您需要使用 DOMParser 解析此字符串。

关于javascript - 在 Electron 中加载本地html文件的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52678401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com