2016-11-16 2 views
1

電子では、dialog.showSaveDialogの呼び出し中に現在のフォーカスされたウィンドウを取得する方法はありますか?これはdialog.showOpenDialogから正常に動作しますが、dialog.showSaveDialogから完了するとnullを返します。電子では、BrowserWindow.getFocusedWindowは、dialog.showSaveDialogから呼び出されたときにnullを返します。

これは動作します:

dialog.showOpenDialog(function (filepaths) { 
    if(filepaths !== undefined){ 
     BrowserWindow.getFocusedWindow().send('file-open', filepaths[0]) 
    } 
    }); 

これはTypeError: Cannot read property 'send' of nullをスロー:

dialog.showSaveDialog(options, function (filepath) { 
    if (filepath !== undefined) { 
    BrowserWindow.getFocusedWindow().send('file-save', filepath) 
    } 
}); 

答えて

0

はこれにコードを変更することでこの問題を解決するために管理:なぜへの答えで

const activeWindow = BrowserWindow.getFocusedWindow() 

dialog.showSaveDialog(options, function (filepath) { 
    if (filepath !== undefined) { 
    activeWindow.send('file-save', filepath) 
    } 
}); 

まだ興味誰かがそれを持っているなら、それは別の方法では動作しません。

関連する問題