我知道有一種方式來加載HTML頁面我可以在Electron中使用JavaScript創建一個HTML頁面嗎?
win.loadURL("index.html");
但是,我只需要加載一個HTML頁面時,它不是從文件,只需動由JavaScript生成?
例如:
str = generateHtmlPage();
win.loadstr(str); // just load from a string
我知道有一種方式來加載HTML頁面我可以在Electron中使用JavaScript創建一個HTML頁面嗎?
win.loadURL("index.html");
但是,我只需要加載一個HTML頁面時,它不是從文件,只需動由JavaScript生成?
例如:
str = generateHtmlPage();
win.loadstr(str); // just load from a string
[蒂莫]已經回答了我的問題,從[dannvix]要點:
https://gist.github.com/dannvix/dc0efdbb75bf79a79d1c#file-electron-main-js-L21-L27
這裏是代碼:
// 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;
});
});
的Javascript使用DOM(文檔對象模型)與一個HTML文件進行交互。並作爲解析頁面的一部分執行。從邏輯上講,您可以使用附加到HTML頁面來構造整個頁面。
document.write("Build my page here.");
但這個解決方法看起來笨重而不是明智的解決方案。也許,編輯你的問題來確定你的目標,我可能會幫助你找到合適的解決方案。
檢查了這一點:HTTPS://gist.github .com/dannvix/dc0efdbb75bf79a79d1c#file-electron-main-js-L21-L27 – tiomno
謝謝。請問,這個動態HTML內容的最大長度是多少? – Kiochan
這應該是Electron可以從系統分配多少內存的問題。應該沒有虛擬限制。 – tiomno