js实现关闭网页出现是否离开提示

大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失。这里面的实现过程很简单,利用了HTML DOM事件中的onunload和onbeforeunload方法。

unload 事件属性

定义:当用户卸载文档时执行一段 JavaScript,例如:

// body<body onunload="goodbye()">

//windowwindow.onbeforeunload=function(e){       var e = window.event||e;    e.returnValue=("确定离开当前页面吗?");} 

用法:当用户离开页面时,会发生 unload 事件。注意:如果您重载页面,也会触发 unload 事件(以及 onload 事件)。 

触发于:

关闭浏览器窗口通过地址栏或收藏夹前往其他页面的时候点击返回,前进,刷新,主页其中一个的时候点击 一个前往其他页面的url连接的时候调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit. 当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。重新赋予location.href的值的时候。通过input type="submit"按钮提交一个具有指定action的表单的时候。 onbeforeunload 事件属性

定义:在即将离开当前页面(刷新或关闭)时执行 JavaScript,例如:

//body<body onbeforeunload="goodbye()">
//windowwindow.onbeforeunload=function(e){       var e = window.event||e;    e.returnValue=("确定离开当前页面吗?");} 

用法:onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类似 "确定要离开此页吗?"。该信息不能删除。但你可以自定义一些消息提示与标准信息一起显示在对话框。注意: 在 Firefox 浏览器中,只显示默认提醒信息(不显示自定义信息)。

触发于:

关闭浏览器窗口  通过地址栏或收藏夹前往其他页面的时候  点击返回,前进,刷新,主页其中一个的时候  点击 一个前往其他页面的url连接的时候  调用以下任意一个事件的时候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.  当用window open打开一个页面,并把本页的window的名字传给要打开的页面的时候。  重新赋予location.href的值的时候。  通过input type=”submit”按钮提交一个具有指定action的表单的时候。

浏览器支持程度

目前主流浏览器都支持这两个事件属性

概述

onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。 onbeforeunload也是在页面刷新或关闭时调用,onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。onunload是无法阻止页面的更新和关闭的,而 onbeforeunload 可以做到。

附:

页面加载时只执行onload

页面关闭时先执行onbeforeunload,最后onunload

页面刷新时先执行onbeforeunload,然后onunload,最后onload

附上部分效果图:

绑定body标签的代码:

<!DOCTYPE html>
 <head>
  <meta charset="UTF-8">
  <title>测试</title>
  <script>
    function checkLeave(){
      event.returnValue="确定离开当前页面吗?";
    }
   </script>
 </head>
 <body onbeforeunload="checkLeave()">
  测试
 </body>
</html>

谷歌浏览器下的效果:

点击刷新按钮:

点击返回按钮:

通过任务栏或者收藏夹前往其他界面:

关闭页面:

edge下的效果:

点击刷新按钮:

点击返回按钮:

关闭页面:

注:在新版的火狐浏览器(我是用的版本: 57.0 )里面,上面这种写法不生效?!

绑定window对象的代码:

<!DOCTYPE html>
 <head>
  <meta charset="UTF-8">
  <title>测试</title>
  <script>
    window.onbeforeunload=function(e){
     var e = window.event||e;
     e.returnValue=("确定离开当前页面吗?");
   }
   </script>
 </head>
 <body>
  测试
 </body>
</html>

火狐下的效果:

点击刷新按钮:

点击返回按钮:

关闭页面:

注:这种方法在谷歌浏览、edge浏览器下仍适用,效果与第一种一样!

(0)

相关推荐

  • js实现关闭网页出现是否离开提示

    大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失.这里面的实现过程很简单,利用了HTML DOM事件中的onunload和onbeforeunload方法. unload 事件属性 定义:当用户卸载文档时执行一段 JavaScript,例如: // body<body onunload="goodbye()"> //windowwindow.onb

  • JS实现关闭当前页而不弹出提示框的方法

    本文实例讲述了JS实现关闭当前页而不弹出提示框的方法.分享给大家供大家参考,具体如下: 关闭当前页面,并且打开新页面(不提示) function closeWinAndOpen(url) { var sWinName = "LR"+parseInt(Math.random() * 100000000);//利用随机数处理WinName window.open(url,sWinName, 'toolbar=no,location=no,directories=no,status=yes,

  • js实现不提示直接关闭网页窗口

    项目需要,用户在关闭当前页面时,可以点击页面中的按钮直接关闭网页窗口,但是不需要提示用户是否关闭窗口. 在网上找了下,使用添加一句如下代码即可: window.open('','_self'); function closePageForm(){ window.opener=null; window.open('','_self'); window.close(); } 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

  • vue如何在用户要关闭当前网页时弹出提示的实现

    本文介绍了vue如何在用户要关闭当前网页时弹出提示的实现,分享给大家,具体如下: 效果如下图 正常 js 页面处理方式 window.onbeforeunload = function (e) { e = e || window.event; // 兼容IE8和Firefox 4之前的版本 if (e) { e.returnValue = '关闭提示'; } // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+ return '关闭提示'; }; vu

  • JS实现超简洁网页title标题跑动闪烁提示效果代码

    本文实例讲述了JS实现超简洁网页title标题跑动闪烁提示效果代码.分享给大家供大家参考,具体如下: 这里演示不几行JS代码实现的网页Title文字跑动效果,类似有消息时的标题闪烁提醒功能,在JS代码中,当变量_record累加到3是,将其赋值为1.相当于无限循环.需要显示的消息提示内容可自拟哦. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-title-blink-style-codes/ 具体代码如下: <html xmlns="

  • js弹出框、对话框、提示框、弹窗实现方法总结(推荐)

    一.JS的三种最常见的对话框 //====================== JS最常用三种弹出对话框 ======================== //弹出对话框并输出一段提示信息 function ale() { //弹出一个对话框 alert("提示信息!"); } //弹出一个询问框,有确定和取消按钮 function firm() { //利用对话框返回的值 (true 或者 false) if (confirm("你确定提交吗?")) { aler

  • 如何利用 JS 脚本实现网页全自动秒杀抢购功能

    倒计时页面: 倒计时未结束时,购买按钮还不能点击. 结束时,可以点击购买,点击后出现提示"付款成功" 展示效果 GIF 1.制作测试网页 首先我们来做一个简易的抢购页面 <!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Apple</title> <style type=&q

  • JS实现跟随鼠标的链接文字提示框效果

    本文实例讲述了JS实现跟随鼠标的链接文字提示框效果.分享给大家供大家参考.具体如下: 这里使用JavaScript与CSS实现链接提示效果,不会改变你原来的链接结构,使用链接原有的title标签来实现,如果之前你使用有title标签,那你几乎只需把JS代码拷贝到你的网页中即可.你会发现,运行本效果后,鼠标在链接上移动的话,文字提示框会跟随鼠标而移动位置. 运行效果如下图所示: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tran

  • Android中关于百度糯米app关闭网页或窗口的方法(99%人不知)

    我们公司做了一款使用百度钱包的移动网页支付进行支付的产品,用户通过百度钱包.百度糯米扫描我们 产品的二维码,选择商品,点击支付将会自动调用百度钱包进行支付,支付成功后返回成功页面,在我们的成功页面有关闭 网页按钮,点击关闭按钮或者返回按钮将会关闭页面. 在百度钱包中使用百度轻应用的BLightApp.closeWindow() 方法可以关闭,但是在百度糯米中,按道理可以使用呀, 但是根本就不行,改成传统的window.close()也不行.当时我们在网上搜索和百度糯米的官网中,都没找到解决方法.

  • JS实现从网页顶部掉下弹出层效果的方法

    本文实例讲述了JS实现从网页顶部掉下弹出层效果的方法.分享给大家供大家参考.具体如下: 这里介绍的JavaScript动画背景出层,实现从网页顶部掉下来的感觉,停止时还带有缓冲弹跳的意思,从上到下显示的动画弹出层,带关闭功能,没有怎么美化,喜欢的用时候息动手美化下,觉得不错. 运行效果如下图所示: 具体代码如下: <HTML><HEAD><TITLE>窗口从上掉下来</TITLE> </HEAD> <BODY bgColor=#fef4d9

随机推荐