HTML打包的EXE程序无法关闭?
近期有朋友在使用HTML打包EXE过程中, 发现打包生成的EXE程序无法正常关闭, 点击退出按钮没有反应, 这是怎么回事呢?
一般可能有以下原因导致, 可以按照下面的步骤进行排查:
1. 检查系统是否有杀毒软件或者安全软件正在扫描EXE程序, 有时候第三方安全软件扫描可能会导致程序在关闭的过程中卡死, 或者没有效果
2. 检查程序是否使用了打包软件提供的onQuit接口, 这个接口可以允许开发人员阻止程序被关闭, 一般用户一些不允许被关闭的程序, 比如在大屏幕上全屏显示不能被关闭的程序. 如果代码中错误使用了这个接口, 也有可能导致程序无法关闭:
window.HTMLPackHelper.onQuit = ()=>{// 你的业务逻辑 // return false: 处理完成后不关闭程序 // return true: 处理完成后关闭程序 return false;
}
3. 检查是否在软件的高级设置里面开启了最小化到托盘, 关闭到托盘等功能, 这些功能会在程序最小化或者关闭的时候在后台继续运行, 并显示在系统右下角托盘里面
4. 检查是否在js中使用了beforeunload监听, 并通过以下阻塞语句拦截了正常卸载流程, 这些语句会告诉内置浏览器“页面需要阻止退出”,导致外层 EXE 关闭流程被延迟或被阻塞。推荐可以使用软件自带的onQuit实现, 避免冲突出现问题
window.addEventListener('beforeunload', async function(e) {/*其他业务逻辑*/e.preventDefault();e.returnValue = '';return '';
});
以上便是HTML打包的EXE程序无法关闭常见原因, 如果你想了解更多关于HTML打包EXE的操作和技巧, 可以查看我们之前的文章
HTML转EXE最新版本2.1.0新功能介绍 - 附CSDN免费下载链接_html一键打包工具免费版-CSDN博客