【发布时间】:2018-10-29 18:52:49
【问题描述】:
我正在尝试将 nprogress 与我构建的 PWA 一起使用以显示加载栏,尤其是在应用以独立模式启动时。
我的想法是在beforeunload 触发时启动栏,并在页面实际卸载之前完成它。
为此,我设置了以下内容:
import NProgress from "nprogress";
window.onbeforeunload = () => {
NProgress.start();
};
window.onunload = () => {
NProgress.done();
};
当然,后来我发现onunload在页面内容被隐藏后触发,因此我的进度条永远没有机会完成。
我尝试过更改,以便在加载下一页时进度条继续,但这也不太正确。
在使用window.onload = () => { NProgress.done(); } 的情况下,进度条从 0 重新开始,而不是保留上一页的完成百分比。这会导致一些奇怪的行为,如下所述:
- 用户点击链接
- 进度条出现并从 0 进步到 ~0.4
- 新页面加载
- 出现进度条
- 进度条立即从 0 变为 1
这意味着有一个奇怪的没有进度条的闪烁,然后是一个重置进度条,最后才完成。
如何修改我的脚本,以便在页面重定向之前完成进度条?
【问题讨论】:
标签: javascript onload progress onbeforeunload