2016-05-29 14 views
5

Sto costruendo un'app utilizzando l'elettrone 1.0 e sfortunatamente ovunque cerco guide e tutorial, nessuno usa l'elettrone 1 perché è così nuovo.Chiudi la finestra frameless dell'elettrone non funziona

Sto cercando di chiudere una finestra frameless attraverso il clic di un pulsante che ho fatto. So che il pulsante funziona perché ho il controllo per assicurarmi che possa fare cose semplici (cioè modificare un testo o qualsiasi altra cosa) ma è solo quando uso il javascript interno, ma sto cercando di usare javascript esterno. Quando uso esterno la funzione non viene mai chiamata ...

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

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

Questo è il mio file javascript. So anche che sto collegando il file correttamente perché posso usare document.write() e funziona.

Cosa sto facendo di sbagliato qui?

qualsiasi aiuto è molto apprezzato grazie!

Modifica: aggiunta linea remota.

Anche se c'è un altro motivo per cui il gestore di eventi non funziona per il mio pulsante. Questa domanda è chiusa e la risposta è stata accettata.

risposta

4

Non so se hai omesso l'importazione rilevante dallo snippet che hai postato, ma supponendo che tu non abbia remote sarà indefinito quando chiami remote.getCurrentWindow(). Se aggiungi const { remote } = require('electron'); nella parte superiore dello snippet, penso che il gestore dei clic funzionerà come previsto.

+0

Ho dimenticato di usare quella linea, ma l'ho aggiunta e ancora senza fortuna. Non succede nulla al clic. Grazie per il suggerimento anche se –

+0

@ClaytonPerroni Se questo non ha funzionato, perché questa risposta è stata selezionata come corretta? Se non ha risolto la domanda, per favore non contrassegnarla come risposta. Se hai trovato una soluzione diversa, crea una risposta e contrassegnala come corretta in modo che gli altri possano trarne beneficio. – JimmyBoh

+0

@JimmyBoh Qualcuno ha già commentato questo, ma immagino che la rabbia abbia cancellato i loro commenti. Questo ha risolto il mio problema. C'è stato un problema su come stavo chiamando la funzione come un file JS esterno. Ho usato una soluzione alternativa in cui ho usato una funzione js locale per chiamare una funzione js esterna e ha funzionato. Questa è la soluzione corretta. –

Problemi correlati