javascript - Electron 应用程序在应用程序关闭时加载外部 URL

标签 javascript electron

我试图在点击应用程序关闭按钮后加载注销 URL,

类似下面的内容。问题是我收到一条错误消息,指出窗口已关闭且无法加载。任何帮助实现这一目标将不胜感激。

app.on('ready', function () {
    // Create new window
    mainWindow = new BrowserWindow({webPreferences: {
        nodeIntegration: false        
      }});

    // Load php index into window
    mainWindow.setTitle('Test');
    mainWindow.loadURL('http://www.url.com/index.php');
    //mainWindow.webContents.openDevTools();
    mainWindow.setMenu(null);
    mainWindow.on('closed', () => {         
        mainWindow.loadURL('https://www.url.com/logout.php?logout=true');       
        mainWindow = null;
        app.quit();
    });
});

最佳答案

我对你想要做的事情有点困惑,但听起来你可以在触发 close 事件时加载 URL,取消该事件以防止 关闭从触发,然后当页面加载时,您可以再次关闭,但这一次是真正的。

mainWindow.on('close', (e) => {
    mainWindow.webContents.on('did-finish-load', logOutPageLoaded);        
    mainWindow.loadURL('https://www.url.com/logout.php?logout=true');       
    e.preventDefault();
});

function logOutPageLoaded() {
    mainWindow.destroy();
}

mainWindow.on('closed', () => {              
    mainWindow = null;
    app.quit();
});

关于javascript - Electron 应用程序在应用程序关闭时加载外部 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55327390/

相关文章:

reactjs - 错误: Object has been destroyed when trying to re-open a second BrowserWindow - Electron. js

javascript - 当数组为空 Angular.js 时不显示任何值

node.js - 如何在 Electron SQl 作为数据库和 React 作为前端将数据插入数据库

javascript - 如何在不询问位置的情况下了解天气情况

javascript - ionic : How to Open a view on click?

javascript - 基于 Electron-vue 的 Electron 应用中 Vuex 突变的奇怪行为

electron - 有没有办法在 Cypress Electron 浏览器中查看一些日志记录?

javascript - 不显示 AngularJS View

javascript - 当先前的数组被删除时,数组是未定义的

javascript - 了解 Meteor 何时重新计算我的模板助手