2016-05-29 88 views
5

我正在用電子1.0創建一個應用程序,不幸的是,我到處尋找指南和教程,沒有人使用電子1,因爲它太新了。Close電子無框窗口不能正常工作

我想通過點擊一個按鈕來關閉無框窗口。我知道按鈕的作品,因爲我已經檢查確保它可以做簡單的事情(即更改一些文本或其他),但只有當我使用內部JavaScript,但我想使用外部JavaScript。當我使用外部功能從未被稱爲...

const {remote} = require('electron'); 
    const {BrowserWindow} = require('electron').remote; 

    document.getElementById("close-button").addEventListener("click", function (e) { 
     var window = remote.getCurrentWindow(); 
     window.close(); 
    }); 

這是我的JavaScript文件。我也知道我正確鏈接文件,因爲我可以使用document.write()並且它可以工作。

我在這裏做錯了什麼?

任何幫助非常感謝,謝謝!

編輯:添加了遠程線路。

儘管我的事件處理程序不能用於我的按鈕還有另一個原因。這個問題已經結束,答案已被接受。

回答

4

我不知道您是否從您發佈的代碼段中省略了相關導入,但假設您沒有remote將在您致電remote.getCurrentWindow()時未定義。如果您將const { remote } = require('electron');添加到代碼段的頂部,我認爲您的點擊處理程序將按預期工作。

+0

我沒有忘記使用該行,但我添加了它,仍然沒有運氣。點擊沒有任何反應。感謝您的建議,但 –

+0

@ClaytonPerroni如果這沒有奏效,那麼爲什麼選擇這個答案是正確的?如果它沒有解決問題,請不要將其標記爲答案。如果您找到了不同的解決方案,請創建答案並將其標記爲正確,以便其他人可以從中受益。 – JimmyBoh

+0

@JimmyBoh有人已經評論過這個,但我猜他們憤怒的刪除了他們的評論。這確實解決了我的問題。關於如何將該函數作爲外部JS文件調用,存在一個問題。我使用了一種解決方法,我使用了一個本地js函數來調用一個外部js函數並且它工作。這是正確的解決方案。 –