2016-05-29 27 views
5

私は電子1.0を使用してアプリケーションを構築しています。残念なことに、どこでも私はガイドとチュートリアルを探しています。閉じる電子フレームレスウィンドウが動作しない

私はボタンをクリックしてフレームレスウィンドウを閉じるようにしています。私はボタンが機能することを知っている。なぜなら、単純なこと(つまり、何かテキストを変更するなど)を行うことができるかどうかをチェックするが、それは内部の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関数を呼び出す回避策を使用しました。これが正しい解決策です。 –

関連する問題