javascript判断网页是关闭还是刷新

yizhihongxing

要判断网页是被关闭还是被刷新,需要使用onbeforeunload事件和event.currentTarget.performance.navigation.type属性。

onbeforeunload事件会在页面关闭或者刷新时被触发,可以作为判断依据。而event.currentTarget.performance.navigation.type属性在页面刷新时值为1,在页面关闭时值为2。

下面是具体的实现步骤:

  1. 在页面中添加onbeforeunload事件。
    <script>
        window.addEventListener('beforeunload',function(event){
            if(event.currentTarget.performance.navigation.type == 1) {
                // 页面是通过刷新退出的
            } else if(event.currentTarget.performance.navigation.type == 2) {
                // 页面是通过关闭退出的
            }
        });
    </script>
  1. 在事件中判断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判断网页是关闭还是刷新 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • JS localStorage存储对象,sessionStorage存储数组对象操作示例

    JS localStorage 和 sessionStorage 都是 HTML5 新增的特性,它们都可以用来在浏览器端存储数据。其中 localStorage 存储的数据没有过期时间,而 sessionStorage 存储的数据在一次会话过程中有效,在用户关闭窗口或浏览器时会被清除。 存储对象示例 如果要存储一个对象到 localStorage 或 ses…

    JavaScript 2023年5月27日
    00
  • 前端设计模式——依赖注入模式

    依赖注入模式(Dependency Injection Pattern):允许我们通过将对象的依赖关系从代码中分离出来,从而使代码更加模块化和可重用。 在传统的编程模式中,一个对象可能会直接创建或者获取它需要的其他对象,这样会造成对象之间的紧耦合关系,难以维护和扩展。而使用依赖注入模式,则可以将对象的依赖关系从对象内部移到外部,从而实现松耦合的设计,便于维护…

    JavaScript 2023年4月18日
    00
  • JS获取html元素的标记名实现方法

    获取 HTML 元素标记名是 JavaScript 中常用的操作,以下是实现方法的详细攻略: 1. 使用 tagName 属性获取标记名 可以使用 tagName 属性来获取 HTML 元素的标记名。该属性只能用于 DOM 对象,对于文本节点和注释节点是无效的。 示例代码如下: // 获取某个元素的标记名 const element = document.g…

    JavaScript 2023年6月10日
    00
  • JS通用方法触发点击事件代码实例

    下面是“JS通用方法触发点击事件代码实例”的完整攻略。 标题 JS通用方法触发点击事件代码实例 正文 在编写前端代码时,我们经常需要触发某些元素的点击事件,例如模拟用户点击按钮进行跳转等操作。那么如何通过JS来触发点击事件呢? 通过click()方法触发点击事件 我们可以通过Element对象的click()方法来触发点击事件。以下是一个HTML代码示例: …

    JavaScript 2023年6月11日
    00
  • ES6基础知识介绍

    下面是关于“ES6基础知识介绍”的完整攻略。 1. ES6是什么 ES6,全称是ECMAScript 6,又称ES2015,是JavaScript语言的新一代标准,是第一次对JavaScript语言本身的修改和完善,它不仅增加了很多新特性,还对语言本身进行了全面升级。ES6的各种新特性和语法糖,可以让我们用更少的代码,更简单地完成一些复杂的任务。 2. ES…

    JavaScript 2023年6月10日
    00
  • 红米手机抢购的js代码

    针对红米手机抢购的 JS 代码攻略,我们需要先了解一下抢购的基本原理。 在红米手机抢购页面中,通过 JavaScript 设置定时器定时获取服务器时间,当服务器时间和系统时间一致时,弹出抢购按钮,此时用户点击按钮进行下一步操作。因此,我们需要找到获取服务器时间的 JS 代码,并通过模拟调用该代码来提前获取到服务器时间从而成功抢购。 以下是详细步骤: 步骤一:…

    JavaScript 2023年6月11日
    00
  • layui.js实现的表单验证功能示例

    下面是 “layui.js实现的表单验证功能示例” 的完整攻略。 一、什么是layui.js layui.js 是一款简易的前端 UI 解决方案,是由著名的前端开源组织“贤心之家”维护开发的。layui.js 主要包括丰富的UI组件和一套简单的前端模板。 在 layui.js 中,表单验证是其中之一的功能,该功能具有高度的可定制性和易用性。 二、表单验证的基…

    JavaScript 2023年6月10日
    00
  • 如何使用JS获取IE上传文件路径(IE7,8)

    当使用Internet Explorer 7或8时,我们可以使用JavaScript获取上传文件的完整路径。这种方法针对IE浏览器而言,Chrome、Firefox、Edge和Safari等浏览器不支持。以下是如何使用JS获取IE上传文件路径的完整攻略: 方法一:利用ActiveX对象 在IE浏览器中使用ActiveX对象可以实现获取IE上传文件路径的功能,…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部