JavaScript判断是页面关闭还是页面刷新
在JavaScript中,你可以使用window.performance
对象来判断当前的操作是页面刷新还是关闭。具体来说,如果页面是通过用户行为触发的刷新(例如刷新按钮或者F5),那么在页面卸载(unload)的时候,navigation.type
会是RELOAD
。如果页面是被关闭的,那么navigation.type
会是NAVIGATE
。
以下是一个示例代码:
window.addEventListener('beforeunload', (event) => {
const navigationType = performance.getEntriesByType("navigation")[0].type;
if (navigationType === 'RELOAD') {
// 页面刷新
console.log('页面刷新');
} else if (navigationType === 'NAVIGATE') {
// 关闭页面或者跳转到其他页面
console.log('页面关闭或跳转');
}
// 设置返回的文本,当用户尝试关闭页面时显示这个文本
event.returnValue = '确定要离开此页面吗?';
});
请注意,beforeunload
事件可能会在页面卸载之前触发,这取决于用户的行为。此外,现代浏览器可能会对这种行为进行限制,因此可能无法在所有情况下准确判断页面是刷新还是关闭。
评论已关闭