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

要判断网页是被关闭还是被刷新,需要使用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日

相关文章

  • JavaScript中的”=、==、===”区别讲解

    当我们使用JavaScript进行开发的时候,经常需要判断两个变量是否相等或者给一个变量赋值,这时我们就需要使用到 =、== 以及 === 这些操作符。这里我们就来详细讲解一下它们的区别与应用。 = 赋值操作符 在JavaScript中,单个等号(=)表示将右侧的值赋给左侧的变量。例如下面的代码将数值1赋给变量x: var x; x = 1; == 相等操作…

    JavaScript 2023年5月17日
    00
  • javascript 事件处理、鼠标拖动效果实现方法详解

    JavaScript 事件处理、鼠标拖动效果实现方法详解 1. 什么是事件处理 在网页中,用户和网页之间的交互是通过事件来实现的。事件是页面中发生的某些特定的行为,例如点击链接、按下键盘按键、鼠标移动等。事件处理就是在事件发生时,执行相应的 JavaScript 代码。 2. 事件类型 常见的事件类型包括: 点击事件(click) 鼠标移动事件(mousem…

    JavaScript 2023年6月11日
    00
  • 详解如何通过JavaScript实现函数重载

    实现函数重载是一种简化代码的方式,通过JavaScript中函数的参数数量、类型、顺序等不同来调用不同的函数。下面是如何通过JavaScript实现函数重载的攻略: 根据参数数量进行重载 根据参数数量进行重载是最简单的方式,通过判断参数的数量来实现不同的函数调用。下面是一个示例代码: function foo() { if (arguments.length…

    JavaScript 2023年5月27日
    00
  • Vue Element前端应用开发之动态菜单和路由的关联处理

    Vue Element前端应用开发之动态菜单和路由的关联处理攻略 在Vue Element前端应用中,动态菜单和路由的关联处理能够提供更好的用户体验。本文将详细讲解如何实现这一功能。 动态菜单 菜单是Vue Element应用的核心组成部分之一,它为用户提供了简洁的导航方式,并且提高了应用的可用性。对于动态菜单而言,它能够实现菜单的自动化生成以及可配置化,这…

    JavaScript 2023年6月11日
    00
  • JS实现获取汉字首字母拼音、全拼音及混拼音的方法

    下面是详细讲解如何使用JS实现获取汉字首字母拼音、全拼音及混拼音的方法: 1. 安装依赖 为了实现汉字拼音转换,我们需要引入一些依赖。其中包括 pinyin.js 和 pinyin-match 。 npm install pinyin.js pinyin-match –save 2. 实现拼音库 为了实现汉字拼音转换,我们需要构建一个拼音库。在这里我们使用…

    JavaScript 2023年5月19日
    00
  • javascript 闭包

    JavaScript 闭包(Closure)是一种非常强大的特性,它可以让变量保持在内存中,即使这个变量已经超出了作用域的范围。在函数式编程中,闭包是不可缺少的,因为它可以让你轻松地创建函数“模板”,并保持数据的私有和安全性。 什么是闭包? 在 JavaScript 中,每个函数都是一个闭包。闭包是指函数和创建该函数的环境的组合。简单地说,闭包就是在函数中创…

    JavaScript 2023年6月10日
    00
  • JavaScript字符串转数字的5种方法及其陷阱

    JavaScript字符串转数字的5种方法及其陷阱 摘要 :JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法! 原文: Converting Strings to Number in Javascript: Pitfalls 译者: Fundebug 转载地址: 本文采用意译,版权归原作者所有 String 转换为 Numbe…

    JavaScript 2023年4月18日
    00
  • JavaScript搜索字符串并将搜索结果返回到字符串的方法

    搜索字符串并将搜索结果返回到字符串有几种方法,下面我将介绍其中两种方法。 方法一:indexOf()方法 indexOf()方法可以在一个字符串中查找指定的文本,并返回首次出现的位置。如果没有找到指定文本,则返回-1。我们可以使用它来搜索字符串。下面是一个示例: const str = ‘Hello, World!’; const searchStr = ‘…

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