为更清晰而编辑。
我正在尝试制作一个启动屏幕小程序——开始学习nodejs和electron。
我想创建一个小程序,启动后每10秒显示一些消息,然后退出。
我把它建立在Discord应用程序和Teams的基础上,在那里他们有一个弹出的加载屏幕,上面有一个进度条,完成后加载整个应用程序。
我想知道如何在";加载完整的应用程序";部分开始介绍如何完全关闭防溅屏。
目前我有一个index.js
、index.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)
起作用了。
仔细阅读这些文档并没有说明任何原因,但以防其他人也遇到这个问题。
将setInterval()
存储为变量,并使用JavaScriptclearInterval(variable)
作为页面退出操作。