2016-12-24 80 views
1

我知道有一種方式來加載HTML頁面我可以在Electron中使用JavaScript創建一個HTML頁面嗎?

win.loadURL("index.html"); 

但是,我只需要加載一個HTML頁面時,它不是從文件,只需動由JavaScript生成?

例如:

str = generateHtmlPage(); 
win.loadstr(str); // just load from a string 
+0

檢查了這一點:HTTPS://gist.github .com/dannvix/dc0efdbb75bf79a79d1c#file-electron-main-js-L21-L27 – tiomno

+0

謝謝。請問,這個動態HTML內容的最大長度是多少? – Kiochan

+0

這應該是Electron可以從系統分配多少內存的問題。應該沒有虛擬限制。 – tiomno

回答

0

[蒂莫]已經回答了我的問題,從[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; 
    }); 
}); 
0

的Javascript使用DOM(文檔對象模型)與一個HTML文件進行交互。並作爲解析頁面的一部分執行。從邏輯上講,您可以使用附加到HTML頁面來構造整個頁面。

document.write("Build my page here.");

但這個解決方法看起來笨重而不是明智的解決方案。也許,編輯你的問題來確定你的目標,我可能會幫助你找到合適的解決方案。

相關問題