2016-10-05 61 views
4

我一直在尋找各地:文檔,谷歌等,對如何加載在電子應用程序的主窗口中的HTML文件,但我不能找到一種方法。電子 - 如何將html文件加載到當前窗口?

難道真是這個複雜的或死的簡單?

與我有什麼想出了是阿賈克斯,從而作品:

$("#main").load("./views/details.html"); 

我已經找到另一種方法是通過遠程:

const {BrowserWindow} = require('electron').remote 
let win = new BrowserWindow({width: 800, height: 600}) 
win.loadURL('https://github.com') 

但這打開總是一個新的窗口,我需要替換現有頁面

+0

當應用程序啓動時,你用'變種窗口=新BrowserWindow(...)加載初始頁面;'和'window.loadURL( '文件:// $ {} __dirname /index.html');'所以再次使用window.loadURL。 – Molda

+0

window.loadUrl()打開一個新窗口,我需要將文件加載當前窗口內,但最重要的** **運行 –

+0

你重複使用變量「雙贏」?我自己的經驗已經使用了spa路由,但是似乎loadURL應該針對創建的窗口對象。 –

回答

3

如果要在現有窗口中加載新的URL,可以在渲染過程中執行此操作:

const { remote } = require('electron') 
remote.getCurrentWindow().loadURL('https://github.com') 

需要注意的是電子重新啓動渲染過程時加載新的URL,那麼你可能會看到閃光燈,當這種情況發生。這就是爲什麼在構建Electron應用程序時最好使用單頁應用程序(SPA)體系結構。

+0

最後一個答案,謝謝!順便說一下,SPA是我的第一個想法(我通常開發MVC應用程序),但我找不到任何其他方式比安裝Angular這是沉重的我的項目。你如何在電子中實現SPA? –

+0

@EdmondTamas角是不是唯一的SPA框架在那裏,陣營(和它的變體),Vue.js,奧裏利亞,基本上任何其他現代前端框架可以在電子使用。 –

+0

爐排,我會這樣移動......謝謝! –

相關問題