- मैं एक लेखन आवेदन कर रहा हूं। उपयोगकर्ता ऐप खोल सकते हैं, कुछ टेक्स्ट लिख सकते हैं, अपना काम सहेज सकते हैं, आदि
- मैं इसे बनाने की कोशिश कर रहा हूं ताकि
window close
बटन पर क्लिक करने से उपयोगकर्ता को (ए) अपने काम को सहेजने के लिए संकेत मिले (यदि आवश्यक हो) या (बी) अभी अभी छोड़ा। - मैं इसे प्राप्त करने के लिए
window.beforeunload
का उपयोग करने का प्रयास कर रहा हूं, लेकिन मुझे लगता है कि मैं एक लूप में फंस रहा हूं, जहां "छोड़ने" की कोशिश करने से एक ही संकेत विज्ञापन infinitum दिखाई देता है। जब आवेदन सेटअप है, खिड़की बंद करने के लिए एक घटना श्रोता की शुरुआतविंडो बंद करने से पहले सहेजने/छोड़ने के लिए संकेत
windowCloseCheck() { window.onbeforeunload = function(e) { e.returnValue = false; // window.alert('try to close me'); if(file.isUnsaved() || file.hasChanged()) { // prompt - save or just quit? file.fileWarning('You have unsaveeed work.', 'Save', 'Quit', function(){ // OPTION A - save file.save(); }, function() { // OPTION B: Quit. ipcRenderer.send('quitter') }) } else { // file is saved and no new work has been done: ipcRenderer.send('quitter') }
windowCloseCheck
शुरू हो जाती है:
यहाँ कुछ कोड है। मेरी सशर्त जांच कर रही है कि फ़ाइल सहेजा गया है या मूल से बदल गया है।
fileWarning
एक ऐसा फ़ंक्शन है जो केवल इलेक्ट्रॉन संवाद बॉक्स को लपेटता है, जिससे प्रत्येक विकल्प के लिए कॉल करने के लिए दो विकल्प और संबंधित कार्यों के साथ पॉप अप दिखाई देता है।
शेष कोड available है यदि मैं (संभवतः) आवश्यक जानकारी छोड़ रहा हूं। अगर मैं बहुत स्पष्ट नहीं हूं तो स्पष्ट करने में खुशी होगी। वहाँ के रूप में बेहतर होने लगते हैं
ipcMain.on('quitter', (e) => {
mainWindow.destroy(); // necessary to bypass the repeat-quit-check in the render process.
app.quit()
})
वास्तव में सुनिश्चित नहीं हैं कि अगर यह सिफारिश की है:
यह इस मुद्दे तक पहुंचने का सबसे अच्छा तरीका है। मैं अब कुछ दिनों के लिए अलग-अलग दृष्टिकोणों की कोशिश कर रहा हूं और हमेशा कुछ ऐसा होता है जिसे बाईपास करने की आवश्यकता होती है। हालांकि यह दृष्टिकोण पूरी तरह से काम करता है और समस्याओं का सामना किए बिना इसे पूरा करने का एकमात्र तरीका है ... कम से कम इलेक्ट्रॉन संस्करण 1.4.15 – Darthur