2016-05-29 19 views
5

Elektron 1.0'ı kullanarak bir uygulama yapıyorum ve ne yazık ki her yerde rehberler ve öğreticiler aradığımda, hiç kimse elektron 1'i kullanıyor çünkü yeni.Close Elektron çerçevesiz cam çalışmıyor

Yaptığım düğmeyi tıklatarak çerçevesiz bir pencereyi kapatmaya çalışıyorum. Düğmenin çalıştığını biliyorum çünkü basit şeyler yapabileceğinden emin olmak için bir kontrolüm var (yani, bazı metni veya her neyi değiştiririm), ancak bu yalnızca iç javascript kullandığımda ancak harici javascript kullanmaya çalıştığım zaman. Ben harici kullandığınızda asla işlev ... çağrılan

benim javascript dosyasını olduğunu
const {remote} = require('electron'); 
    const {BrowserWindow} = require('electron').remote; 

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

. Ayrıca belgeyi düzgün kullanıyorum, çünkü document.write() işlevini kullanabiliyorum ve işe yarıyor.

yanlış burada ne yapıyorum?

herhangi bir yardım için teşekkür ederiz!

Düzenleme: Eklenen uzak satır.

Etkinlik işleyicimin düğmemde çalışmamasının başka bir nedeni olsa da. Bu soru kapatıldı ve cevap kabul edildi.

cevap

4
Yayınladığınız pasajımızdaki ilgili ithalat ihmal eğer bilmiyorum

ancak remote.getCurrentWindow() Aradığınızda remote tanımsız edilmeyeceği varsayarak. Snippet'inizin üstüne const { remote } = require('electron'); eklerseniz, tıklama işleyicinizin beklendiği gibi çalışacağını düşünüyorum.

+0

Bu satırı kullanmayı unuttum, ancak ekledim ve hala şanssızım. Tıklamada hiçbir şey olmuyor. Öneri için teşekkürler –

+0

@ClaytonPerroni Bu işe yaramadıysa neden bu cevap doğru olarak seçildi? Soruyu çözmediyse lütfen cevap olarak işaretlemeyin. Farklı bir çözüm bulursanız, lütfen bir yanıt oluşturun ve diğerlerinin faydalanabilmesi için doğru olanı işaretleyin. – JimmyBoh

+0

@JimmyBoh Birisi bunu çoktan yorumladı ama sanırım öfke onların yorumlarını sildi. Bu benim problemimi çözdü. Fonksiyonun harici bir JS dosyası olarak nasıl çağırıldığına dair bir sorun vardı. Harici js işlevini çağırmak için yerel bir js işlevi kullandığım ve çalıştığı bir geçici çözüm kullandım. Bu doğru çözümdür. –