假设我有2个进程:进程1向进程2发送有效的html字符串:ipcRenderer.send(open-window-from-string, !DOCTYPE html + html + htmlElement.innerHTML + /html);过程2(Electron Main-Process)尝试从该字...
假设我有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()使更改生效.
本文标题为:javascript – 是否可以从内存中的html字符串加载电子webContents?
基础教程推荐
- 使用命令创建 VUE 项目 2023-10-08
- js如何防止ajax重复提交表单 2022-10-30
- vue 跨域代理404 第一个有效,其他都无效 2023-10-08
- 解决uni-app打包安卓app在平板或分辨率高的模拟器下不宽屏显示问题 2023-08-29
- vue节流实现 2023-10-08
- VuePress 2023-10-08
- JavaScript点击按钮或F11键盘实现全屏以及判断是否是全屏 2023-08-29
- Vue自学之路5-vue模版语法(v-text,v-html,v-pre) 2023-10-08
- 如何使用jquery的jquery.jqprint.js打印网页内容,jquery.jqprint.js插件下载 2023-08-29
- Mac版本的Sublime Text如何安装px转rem,px自动rem转化 2023-08-29
