gpt4 book ai didi

electron - 关闭窗口前提示保存/退出

转载 作者:行者123 更新时间:2023-12-03 07:31:10 50 4
gpt4 key购买 nike

  • 我正在申请写作。用户可以打开应用程序、写一些文本、保存他们的工作等。
  • 我试图做到这一点,以便点击 window close按钮将提示用户 (a) 保存他们的工作(如有必要)或 (b) 退出。
  • 我正在尝试使用 window.beforeunload来实现这一点,但发现我陷入了一个循环,试图“退出”会使相同的提示无限出现。

  • 这是一些代码:
    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是一个只 package Electron 对话框的函数,弹出一个带有两个选项的弹出窗口,并为每个选项调用相应的函数。

    其余的代码是 available如果我(可能)遗漏了必要的信息。如果我不是很清楚,我很乐意澄清。

    最佳答案

    请在您定义浏览器窗口的函数中添加以下块(在我的情况下,它是在 main.js 中声明的 createWindow() 函数)

      // Create the browser window.
    mainWindow = new BrowserWindow({width: 400, height: 400})


    mainWindow.on('close', function(e){
    var choice = require('electron').dialog.showMessageBox(this,
    {
    type: 'question',
    buttons: ['Yes', 'No'],
    title: 'Confirm',
    message: 'Are you sure you want to quit?'
    });
    if(choice == 1){
    e.preventDefault();
    }
    });

    关于electron - 关闭窗口前提示保存/退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39574636/

    50 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com