我可以在Electron中使用javascript创建HTML页面吗?
我知道有一种方法可以加载html页面我可以在Electron中使用javascript创建HTML页面吗?,javascript,electron,Javascript,Electron,我知道有一种方法可以加载html页面 win.loadURL("index.html"); 但是,如果html页面不是从文件加载的,而是由javascript动态生成的,那么我可以加载它吗 例如: str = generateHtmlPage(); win.loadstr(str); // just load from a string Javascript使用DOM(文档对象模型)与HTML文件交互。并作为解析页面的一部分执行。从逻辑上讲,您可以使用append-to-html页面构建整
win.loadURL("index.html");
但是,如果html页面不是从文件加载的,而是由javascript动态生成的,那么我可以加载它吗
例如:
str = generateHtmlPage();
win.loadstr(str); // just load from a string
Javascript使用DOM(文档对象模型)与HTML文件交互。并作为解析页面的一部分执行。从逻辑上讲,您可以使用append-to-html页面构建整个页面
document.write(“在这里构建我的页面”)代码>
但这个解决方案似乎很麻烦,也不是一个可取的解决方案。或许,编辑您的问题以确定您的目标,我可能会帮助您找到合适的解决方案。[timo]已经用[dannvix]的要点回答了我的问题:
代码如下:
// main.js for Electron
var app = require("app"),
BrowserWindow = require("browser-window");
app.on("window-all-closed", function() {
app.quit();
})
var mainWindow = null;
app.on("ready", function() {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
center: true,
resizable: true,
frame: true,
transparent: false,
});
mainWindow.setMenu(null);
// create BrowserWindow with dynamic HTML content
var html = [
"<body>",
"<h1>It works</h1>",
"</body>",
].join("");
mainWindow.loadURL("data:text/html;charset=utf-8," + encodeURI(html));
mainWindow.openDevTools();
mainWindow.on("closed", function() {
mainWindow = null;
});
});
//Electron的main.js
var app=要求(“app”),
BrowserWindow=需要(“浏览器窗口”);
应用程序打开(“窗口全部关闭”,函数(){
app.quit();
})
var mainfown=null;
app.on(“就绪”,函数(){
主窗口=新浏览器窗口({
宽度:800,
身高:600,
中:是的,
可调整大小:正确,
框架:对,
透明:假,
});
主窗口.设置菜单(空);
//使用动态HTML内容创建浏览器窗口
变量html=[
"",
“它有效”,
"",
].加入(“”);
loadURL(“数据:text/html;charset=utf-8,”+encodeURI(html));
mainWindow.openDevTools();
mainWindow.on(“关闭”,函数(){
主窗口=空;
});
});
请查看:谢谢。我可以问一下,这个动态html内容是否有一个最大长度?这应该是系统可以分配多少内存的问题。应该没有虚拟的限制。非常感谢,这解决了我的问题。