Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从外部脚本文件中退出setInterval()后的electron应用程序_Javascript_Node.js_Electron - Fatal编程技术网

Javascript 从外部脚本文件中退出setInterval()后的electron应用程序

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是根

为更清晰起见进行了编辑

我正在尝试制作一个闪屏小程序——开始学习nodejs和electron

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

我以Discord应用程序和团队为基础,他们有一个带有进度条的弹出式加载屏幕,完成后加载整个应用程序

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

目前我有一个
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()
存储为变量,并使用JavaScript
clearInterval(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')
@pergy
app
在index.js中,但我发现它是
app.quit()
不起作用,但
app.exit(0)
不起作用