繁体   English   中英

从外部脚本文件 setInterval() 后退出电子应用程序

[英]Quitting an electron app after setInterval() from external script file

编辑为更清晰。

我正在尝试制作一个闪屏小程序 - 开始学习 nodejs 和电子。

我想创建一个启动的小程序,每 10 秒显示一些消息,然后退出。

我将它基于 Discord 应用程序和团队,在那里他们会弹出带有进度条的加载屏幕,并在完成后加载完整的应用程序。

我想知道在“加载完整应用程序”部分开始之前如何做,以及如何完全关闭启动画面。

目前我有一个index.jsindex.html和一个main.js

index.js是电子浏览器窗口。 index.html是主渲染页面, main.js是定时器,根据时间切换innerHTML

// main.js
var startTime       = 0,
    totalTime       = 10,
    timeBuffer      = 2,
    totalPercent    = 0,
    timeCounter     = setInterval( progress, 1000 );

function progress() {
    if( (startTime += 1) >= (totalTime + timeBuffer + 1) ) {
        // quit app (1)
    } else {
        // show messages here
    }
}

在代码中的第(1)点,我尝试添加app.close(); 但这失败了,因为我没有在app添加。 我尝试添加它,但这也不起作用。

我尝试添加:

// main.js
const { ipcRenderer } = require('electron');
ipcRenderer.send('close-me');

//index.js
ipcMain.on( 'close-me', (evt, arg) => {
    app.quit();
});

但这也不起作用。 我仍在尝试了解index.js与您可能为该应用程序编写的其他脚本之间的关系 - 但认为完全退出该应用程序会很容易。

似乎app.quit()在这种情况下app.close(0) ,但app.close(0)是。

通读文档并没有提出任何原因,但以防万一其他人也遇到这个问题。

将您的setInterval()存储为变量并使用 JavaScript clearInterval(variable)作为页面退出操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM