要判断网页是被关闭还是被刷新,需要使用onbeforeunload事件和event.currentTarget.performance.navigation.type属性。
要判断网页是被关闭还是被刷新,需要使用onbeforeunload
事件和event.currentTarget.performance.navigation.type
属性。
onbeforeunload
事件会在页面关闭或者刷新时被触发,可以作为判断依据。而event.currentTarget.performance.navigation.type
属性在页面刷新时值为1,在页面关闭时值为2。
下面是具体的实现步骤:
- 在页面中添加
onbeforeunload
事件。
<script>
window.addEventListener('beforeunload',function(event){
if(event.currentTarget.performance.navigation.type == 1) {
// 页面是通过刷新退出的
} else if(event.currentTarget.performance.navigation.type == 2) {
// 页面是通过关闭退出的
}
});
</script>
- 在事件中判断
event.currentTarget.performance.navigation.type
的值,从而得知页面是通过刷新退出还是通过关闭退出。
这里提供两个简单的示例:
示例一
<!DOCTYPE html>
<html>
<head>
<title>Javascript判断网页是关闭还是刷新</title>
</head>
<body>
<p>测试网页是否关闭或者刷新。</p>
<button>刷新页面</button>
<script>
window.addEventListener('beforeunload',function(event){
if(event.currentTarget.performance.navigation.type == 1) {
alert('页面是通过刷新退出的');
} else if(event.currentTarget.performance.navigation.type == 2) {
alert('页面是通过关闭退出的');
}
});
document.querySelector('button').addEventListener('click', function(event){
location.reload();
});
</script>
</body>
</html>
示例二
<!DOCTYPE html>
<html>
<head>
<title>Javascript判断网页是关闭还是刷新</title>
</head>
<body>
<p>测试网页是否关闭或者刷新。</p>
<form method="post">
<input type="text" name="username" placeholder="用户名">
<input type="password" name="password" placeholder="密码">
<br>
<button type="submit">登录</button>
</form>
<script>
window.addEventListener('beforeunload',function(event){
if(event.currentTarget.performance.navigation.type == 1) {
alert('页面是通过刷新退出的');
} else if(event.currentTarget.performance.navigation.type == 2) {
alert('页面是通过关闭退出的');
}
});
</script>
</body>
</html>
这两个示例分别展示了在按钮点击和表单提交时,如何判断网页是被关闭还是被刷新。需要注意的是,在表单提交时,如果需要在提交前确认是否退出,可以使用window.confirm
方法来实现。
织梦狗教程
本文标题为:javascript判断网页是关闭还是刷新


基础教程推荐
猜你喜欢
- 详解coreldraw x8新功能 2024-01-23
- React+Redux实现简单的待办事项列表ToDoList 2024-02-04
- 值得分享的JavaScript实现图片轮播组件 2024-02-04
- layui数据表格使用(一:基础篇,数据展示、分页组件、表格内嵌表单和图片) 2022-12-16
- 详解HTML5之pushstate、popstate操作history,无刷新改变当前url 2024-01-29
- Spring MVC前端与后端5种ajax交互方法【总结】 2023-01-31
- IE6/7中getAttribute获取href/src 属性(相对路径0值与其它浏览器不同 2023-12-21
- 关于ajax网络请求的封装实例 2023-01-20
- ajax数据传输方式实例详解 2022-10-18
- JavaScript CSS 通用循环滚动条 2024-01-23