Javascript 从外部脚本文件中退出setInterval()后的electron应用程序
为更清晰起见进行了编辑 我正在尝试制作一个闪屏小程序——开始学习nodejs和electron 我想创建一个小程序,它可以启动,每10秒显示一些消息,然后退出 我以Discord应用程序和团队为基础,他们有一个带有进度条的弹出式加载屏幕,完成后加载整个应用程序 我想知道如何在“加载完整应用程序”部分开始之前完成,以及如何完全关闭启动屏幕 目前我有一个Javascript 从外部脚本文件中退出setInterval()后的electron应用程序,javascript,node.js,electron,Javascript,Node.js,Electron,为更清晰起见进行了编辑 我正在尝试制作一个闪屏小程序——开始学习nodejs和electron 我想创建一个小程序,它可以启动,每10秒显示一些消息,然后退出 我以Discord应用程序和团队为基础,他们有一个带有进度条的弹出式加载屏幕,完成后加载整个应用程序 我想知道如何在“加载完整应用程序”部分开始之前完成,以及如何完全关闭启动屏幕 目前我有一个index.js,index.html,还有一个main.js index.js是电子浏览器窗口index.html是主呈现页面,main.js是根
index.js
,index.html
,还有一个main.js
index.js
是电子浏览器窗口index.html
是主呈现页面,main.js
是根据以下时间切换innerHTML
的计时器:
//main.js
var startTime=0,
总时间=10,
timeBuffer=2,
totalPercent=0,
计时器=设置间隔(进度,1000);
功能进展(){
如果((startTime+=1)>=(totalTime+timeBuffer+1)){
//退出应用程序(1)
}否则{
//在此处显示消息
}
}
在代码中的(1)
点,我尝试添加app.close()代码>但这失败了,因为我没有在应用程序中添加。我试着把它加进去,但也没用
我试着加入:
//main.js
const{ipcrender}=require('electron');
发送('close-me');
//index.js
ipcMain.on(‘关闭我’,(evt,arg)=>{
app.quit();
});
但这也不起作用。我仍在试图理解index.js
与您可能为该应用程序编写的其他脚本之间的关系,但我认为完全退出该应用程序会很容易。在这种情况下,app.quit()
似乎不起作用,但app.close(0)
确实起作用
通读文档并没有给出任何原因,但以防其他人也遇到此问题。将您的setInterval()
存储为变量,并使用JavaScriptclearInterval(variable)
作为页面退出操作。不确定它是否特定于电子,但请尝试setInterval(w.close,1000)
或设置间隔(w.close.bind(w),1000)
。另外,如果应用程序正在退出,为什么setInterval
而不是setTimeout
?@OlehZiniak当我添加前两行(const
和let
)时,我会得到以下错误:uncaughttypeerror:remote.getCurrentWindow不是main.js:4
上的函数setInterval
因为我正在计算计时器并在最短时间内设置动画intervals@OlehZiniak更新了问题,希望能让它更清楚!你对这个词的定义是什么?像const{app}=require('electron')
@pergyapp
在index.js中,但我发现它是app.quit()
不起作用,但app.exit(0)
不起作用