要判断网页是被关闭还是被刷新,需要使用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判断网页是关闭还是刷新
基础教程推荐
猜你喜欢
- 第3天:定义语言编码 2022-11-04
- 使用three.js实现炫酷的酸性风格3D页面效果 2024-03-12
- CSS3弹性盒模型开发笔记(一) 2023-12-22
- html+css+javascript实现跟随鼠标移动显示选中效果 2024-01-23
- 组合CLASS来完成网页布局风格 2022-10-16
- css 跨浏览器实现float:center 2024-03-12
- 解决JS浮点数运算出现Bug的方法 2023-12-02
- 使用FormData进行Ajax请求上传文件的实例代码 2023-02-23
- css z-index层重叠顺序使用介绍 2023-12-23
- 利用原生JavaScript获取元素样式只是获取而已 2024-04-02