2017-05-30 12 views
0

を示すために、ページのリロードを必要とする、私の目標は、内Djangoアプリを実行することです。 DjangoアプリはPyInstallerを使用してコンパイルされ、私の電子プロジェクト構造内に正しく配置されています。電子は、私が<a href="https://electron.atom.io" rel="nofollow noreferrer">Electron</a>に新たなんだコンテンツ

私の問題は、私は電子を起動したとき(electron .)は、その空白のウィンドウが開くということです。正しいコンテンツを表示するためにリフレッシュする必要があります。電子開封時にページが読み込まれて内容が表示されるように、これを動作させることはできません。 (...それは関連性があるかどうかわからない)私はreload()reloadIgnoringCache()オプションを試してみましたが、それは解決しない...

は、私は私の窓が最初にcurrentIndex: -1と手動currentIndex: 0をリロードした後を取得していることがわかります私の窓webContentsパラメータを分析します。ここで

main.jsファイルの関連部分である:

app.on('ready', function() { 
log.info('App is ready?!....'); 

var openWindow = function(mainAddr){ 
    mainWindow = new BrowserWindow({width: 1200, height: 800, backgroundColor: '#eeeeee', show:false}); 
    mainWindow.loadURL(mainAddr); 
    mainWindow.webContents.on('did-finish-load', function() { 
     mainWindow.show(); 

    }); 
    mainWindow.webContents.session.clearCache(function() { 
     console.log("Cache has been cleared."); 
    }); 
    mainWindow.webContents.reloadIgnoringCache(); 
    mainWindow.webContents.openDevTools(); 
    mainWindow.on('closed', function() { 
     mainWindow = null; 
     subpy.kill('SIGINT'); 
    }); 


}; 
+0

...これらの4秒を待った後「ゴーン」だったが、あなたは「すぐにショー」試してみましたイベント? –

+0

こんにちは@AnatolyStrashkevich - 提案に感謝します。私は試してみたが、それはまったく開いていないことが判明した。だから私はリフレッシュボタンを押すことさえできない。 – user1544500

答えて

0

[OK]を - それが始めるために数秒を必要とする...問題は、私のジャンゴ・サーバが起動されどのような方法にリンクされていることが判明これは、電子が成功しなくてもそれに到達しようとしていたときのことです。タイムアウトタイマーの導入後

、次のように:

setTimeout(function() { 
       console.log('waiting ....'); 
       mainWindow.loadURL(mainAddr); 
    },4000); 

問題は、ハイテク

+1

サーバを起動するのに常に4秒かかると確信していますか?多分より良いアイデアは、サーバとのソケット接続をセットアップし、サーバの負荷でコールバックを設定することでしょうか? –

+0

非常に良いコメント - それに感謝!私はそれを行います! – user1544500

関連する問題

 関連する問題