2016-10-05 16 views
4

電子アプリのメインウィンドウにhtmlファイルを読み込む方法については、docs、googleなどのすべてを探していましたが、私は方法を見つけることができません。Electron - 現在のウィンドウに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

アプリケーションが起動すると、最初のページを 'var window = new BrowserWindow(...);および' window.loadURL( 'file:// $ {__dirname} /index.html'); '単にwindow.loadURLを再度使用してください。 – Molda

+0

window.loadUrl()は新しいウィンドウを開き、ファイルを現在のウィンドウ内に読み込む必要がありますが、最も重要なのは**実行時**です –

+0

変数 'win'を再利用していますか?私自身の経験ではスパルーティングを使用していましたが、loadURLは作成されたウィンドウオブジェクトをターゲットにする必要があります。 –

答えて

3

既存のウィンドウに新しいURLを読み込む場合は、レンダラープロセスでこれを行うことができます。

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

新しいURLがロードされると、Electronがレンダラープロセスを再起動するので、そのときにはおそらくフラッシュが表示されることに注意してください。このため、通常、電子アプリケーションを構築する際には、単一ページアプリケーション(SPA)アーキテクチャを使用するのが最善です。

+0

最後に答え、ありがとう!ところで、SPAは私の最初の考えでした(私は通常MVCアプリケーションを開発します)が、私のプロジェクトでは重いAngularをインストールする以外の方法はありませんでした。電子でSPAをどうやって達成するのですか? –

+0

@EdmondTamas Angularは、そこで唯一のSPAフレームワークではなく、React(およびその変形)、Vue.js、Aurelia、そして基本的に他の現代のフロントエンドフレームワークをElectronで使用することができます。 –

+0

グレート、私はそのように移動します...ありがとう! –

関連する問題