**
* 目标:在从外部网页“完成”返回 PWA 的那一刻,最先(早于 Vue 挂载)
* 给 加 .restoring,短暂关闭所有动画/过渡,避免闪。
*/
(function () {
function addRestoring() {
// 立刻进入静默期
document.documentElement.classList.add('restoring');
// 150~200ms 后退出静默(给布局/绘制一个首帧窗口)
setTimeout(function () {
document.documentElement.classList.remove('restoring');
}, 180);
}
// 标记:即将离开当前页面(多用于从 PWA 外跳)
window.addEventListener('pagehide', function () {
try { sessionStorage.setItem('__returning_from_external', '1'); } catch {}
});
// 唤醒:如果是“外部返回”,立即静默
window.addEventListener('pageshow', function () {
try {
if (sessionStorage.getItem('__returning_from_external') === '1') {
sessionStorage.removeItem('__returning_from_external');
addRestoring();
}
} catch {}
});
})();