javascript – 是否可以从内存中的html字符串加载电子webContents?

假设我有2个进程:

进程1向进程2发送有效的html字符串:

ipcRenderer.send('open-window-from-string', 
'<!DOCTYPE html>' + '<html>' + htmlElement.innerHTML + '</html>');

过程2(Electron Main-Process)尝试从该字符串打开一个新窗口:

ipc.on('open-window-from-string', (event, htmlString) => {
  const windowFromString= BrowserWindow.fromWebContents(htmlString);
}

我知道我可以将html保存为实际的html文件.这样一切都在使用时工作:

loadURL(`file://${__dirname}/windowFromString.html`);

但是,这会导致不必要的读/写操作.

这就是我试图从htmlString中加载一个新窗口的原因.
所以问题再次出现:
是否可以从内存中的html字符串加载电子webContents?

在此先感谢您的帮助.

问候,
Megajin

解决方法:

好吧,也许你不能直接加载整个HTML.作为一种变通方法,您可以打开一个新的浏览器窗口,其内容仅为:

<html>
   <head></head>
   <body></body>
</html>

打开它之后,您可以使用browserWindow.webContents.evaluate()来加载作为String传递的实际HTML.如果需要,您可以使用webContents.reload()使更改生效.

相关文章

这篇文章主要讲解了“electron打包中的坑如何解决”,文中的...
这篇文章主要介绍“electron打包的坑如何解决”的相关知识,...
这篇文章主要为大家分析了VSCode中如何调试Electron应用的主...
这篇“如何在VSCode上调试Electron应用的主进程代码”文章的...
vue-cli+electron一种新的脚手架(vue-electron)vue-electron...
1、首先成功安装Node.js。2、配置好环境变量path,参加上一篇...