精华内容
下载资源
问答
  • **功能需求:**前端在关闭页面时触发事件请求后台进行类似日志记录的东西,或者保存当前页面某些数据 解决方法: 1.使用window.onbeforeunload window.onbeforeunload = function() { // dosomething } 2.使用window...

    功能需求: 前端在关闭页面时触发事件请求后台进行类似日志记录的东西,或者保存当前页面某些数据
    解决方法:
    1.使用window.onbeforeunload
    window.onbeforeunload = function() {
    // dosomething
    }
    2.使用window.addEventListener监听beforeunload事件
    window.addEventListener(‘beforeunload’, function() {
    // dosomething
    });
    注意: 使用时需要使用同步请求,或者可以尝试使用confirm或者event.preventDefault()阻断页面关闭事件
    问题: 个人使用时为google 88.0.4324.96版本,同样代码打开偶尔会有阻断不了的情况,查阅资料时发现谷歌准备禁用beforeunload事件,下面是关于这个的截图
    谷歌版本截图:
    在这里插入图片描述
    谷歌features截图:
    谷歌浏览器表示即将禁用掉同步XHR请求,同时类似confirm的阻断事件也将不被执行
    谷歌features翻译截图:
    谷歌浏览器表示即将禁用掉同步XHR请求,同时类似confirm的阻断事件也将不被执行

    新手上路,如有问题,还请各位大佬不吝指教!

    展开全文
  • ①Onunload,onbeforeunload都是在刷新或关闭时调用,可以在②Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了...

    JS监听关闭浏览器事件
    1、Onunload与Onbeforeunload区别:
    ①Onunload,onbeforeunload都是在刷新或关闭时调用,可以在

    ②Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。
    ③曾经做一个考试系统,涉及到防止用户半途退出考试(有意或者无意),代码如下:

    <script type="text/javascript">  
    <!--    
        window.onbeforeunload = onbeforeunload_handler;  
        window.onunload = onunload_handler;  
        function onbeforeunload_handler(){  
            var warning="确认退出?";          
            return warning;  
        }  
          
        function onunload_handler(){  
            var warning="谢谢光临";  
            alert(warning);  
        }  
    // -->  
    </script>  
      
    <script type="text/javascript">
    <!--
    window.onbeforeunload = onbeforeunload_handler;
    window.onunload = onunload_handler;
    function onbeforeunload_handler(){
        var warning="确认退出?";   
    return warning;
        }
       
    function onunload_handler(){
        var warning="谢谢光临";
        alert(warning);
        }
    // -->
    </script>
    

    这段代码在FF和IE上都能正确执行.再点击关闭按钮时首先触发obbeforeunload事件,点击否定时不执行onload事件.

    这段代码在FF和IE上都能正确执行.再点击关闭按钮时首先触发obbeforeunload事件,点击否定时不执行onload事件.通常应用在 注销session等等登陆信息 等方面…

    2、运用onunload事件判断浏览器是刷新还是关闭窗口。

    function CloseOpen(event) {
    if(event.clientX<=0 && event.clientY<0) {
    alert("关闭");
    }
    else
    {
    alert("刷新或离开");
    }
    }
    Java代码
    window.onbeforeunload = function() //author: meizz   
           {   
                  var n = window.event.screenX - window.screenLeft;   
                  var b = n > document.documentElement.scrollWidth-20;   
                  if(b && window.event.clientY < 0 || window.event.altKey)   
                  {   
                         alert("是关闭而非刷新");   
                         window.event.returnValue = ""; //这里可以放置你想做的操作代码   
                  }   
           }
    
    展开全文
  • JS监听关闭浏览器事件关键字: js监听关闭浏览器事件Onunload与OnbeforeunloadOnunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来指定或者在里指定。区别在于onbeforeunload在...

    JS监听关闭浏览器事件

    关键字: js监听关闭浏览器事件

    Onunload与Onbeforeunload

    Onunload,onbeforeunload都是在刷新或关闭时调用,可以在

    Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而

    Onbeforeunload 可以做到。曾经做一个考试系统,涉及到防止用户半途退出考试(有意或者无意),代码如下:

    Java代码

    onbeforeunload_handler; window.onunload =

    onunload_handler; function

    onbeforeunload_handler(){ var

    warning="确认退出?"; return warning; } function

    onunload_handler(){ var warning="谢谢光临"; alert(warning); } // --> 

    Java代码

    这段代码在FF和IE上都能正确执行.再点击关闭按钮时首先触发obbeforeunload事件,点击否定时不执行onload事件.

    这段代码在FF和IE上都能正确执行.再点击关闭按钮时首先触发obbeforeunload事件,点击否定时不执行onload事件.Java代码

    通常应用在 注销session等等登陆信息 等方面....

    这里一并推荐一个ActionScript3的好教程: http://gskinner.com/talks/as3workshop/写道

    运用onunload事件判断浏览器是刷新还是关闭窗口

    写道

    function CloseOpen(event) {

    if(event.clientX<=0

    && event.clientY<0)

    {

    alert("关闭");

    }

    else

    {

    alert("刷新或离开");

    }

    }

    Java代码

    window.onbeforeunload = function() //author:

    meizz { var n = window.event.screenX -

    window.screenLeft; var b = n >

    document.documentElement.scrollWidth-20; if(b && window.event.clientY

    < 0 ||

    window.event.altKey) { alert("是关闭而非刷新"); window.event.returnValue = "";

    //这里可以放置你想做的操作代码 } }

    展开全文
  • 页面关闭时只执行onunload 页面刷新时先执行onbeforeunload,然后onunload,最后onload。 经过验证我得出的结论是: ## 对于ie,谷歌,360: - 页面加载时只执行onload - 页面刷新时,刷新之前执行onbeforeunload...

    页面加载时只执行onload
    页面关闭时只执行onunload
    页面刷新时先执行onbeforeunload,然后onunload,最后onload。
    经过验证我得出的结论是:
    ## 对于ie,谷歌,360:
    - 页面加载时只执行onload
    - 页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。
    - 页面关闭时,先onbeforeunload事件,再onunload事件。

    ## 对于火狐:

    -页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件
    那么回归正题,到底怎样判断浏览器是关闭还是刷新?我按照网上的各种说法实验千百遍,都未成功,其中各种说法如下:

    window.onbeforeunload = function() //author: meizz
    {
    var n = window.event.screenX - window.screenLeft;
    var b = n > document.documentElement.scrollWidth-20;
    if(b && window.event.clientY < 0 || window.event.altKey)
    {
    alert("是关闭而非刷新");
    window.event.returnValue = ""; //这里可以放置你想做的操作代码
    }else
    {
    alert("是刷新而非关闭");
    }
    }
    window.onbeforeunload = function() //author: meizz
    {
    var n = window.event.screenX - window.screenLeft;
    var b = n > document.documentElement.scrollWidth-20;
    if(b && window.event.clientY < 0 || window.event.altKey)
    {
    alert("是关闭而非刷新");
    window.event.returnValue = ""; //这里可以放置你想做的操作代码
    }else
    {
    alert("是刷新而非关闭");
    }
    }
    function CloseOpen(event) {
        if(event.clientX<=0 && event.clientY<0) {
            alert("关闭");
        }
        else
        {
            alert("刷新或离开");
        }
    }
    </script>
    <body onunload="CloseOpen(event)">

    这些方法都不管用,但是我并没有放弃,想啊想啊........

      按照上面我得出结论,

      //对于ie,谷歌,360:

      //页面加载时只执行onload

      //页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件。

      //页面关闭时,先onbeforeunload事件,再onunload事件。

      //对于火狐:

      //页面刷新时,只执行onunload;页面关闭时,只执行onbeforeunload事件

      刷新的时候先onbeforeunload,然后取服务端请求数据,在新页面即将替换旧页面时onunload事件,而页面关闭时,先onbeforeunload事件,再立即onunload事件。那么在刷新的时候,onbeforeunload与onunload之间的时间肯定比关闭的时候时间长,经过测试确实如此。

    使用onunload或onbeforeunload可以监听浏览器关闭事件,但是无法区分关闭与刷新。以下js代码可以部分监听关闭浏览器的事件!

    //鼠标相对于用户屏幕的水平位置 - 窗口左上角相对于屏幕左上角的水平位置 = 鼠标在当前窗口上的水平位置
    var n = window.event.screenX - window.screenLeft;
    //鼠标在当前窗口内时,n<m,b为false;鼠标在当前窗口外时,n>m,b为true。20这个值是指关闭按钮的宽度
    var b = n > document.documentElement.scrollWidth-20;
    //鼠标在客户区内时,window.event.clientY>0;鼠标在客户区外时,window.event.clientY<0
    if(b && window.event.clientY < 0 || window.event.altKey || window.event.ctrlKey){
        关闭浏览器时你想做的事
    }else if(event.clientY > document.body.clientHeight || event.altKey){
        关闭浏览器时你想做的事
    }

     

    展开全文
  • // onbeforeunload 事件在即将离开当前页面(刷新或关闭时触发 window.onbeforeunload = function () { return /^\#\/ipinfo/.test(location.hash) || /^\#\/ipdetail/.test(location.hash) ? '您正处于编辑...
  • JS实现在页面关闭或刷新时触发特定的事件 <script type="text/javascript"> window.onbeforeunload = function() { var n = window.event.screenX - window.screenLeft; var b = n > document....
  • 有个需求是在用户离开页面(刷新或者关闭)保存当前的工作状态。我决定把当前工作状态存到COOIKE中.记录一下js操作Cookie和事件响应 Js代码 : functionsetCookie(name,value){ varDays=30; varexp=newDate()...
  • 做圆桌爆文公众号的时候,需要对阅读的文章进行时间...功能点是,关闭页面时触发事件,请求后台,把阅读时间记录下来。 技术段: 1 //原生写法 2 window.onbeforeunload = function(event) { 3 return conf...
  • 关闭页面的时候如何触发JS事件

    千次阅读 2013-04-26 09:52:47
    function bindunbeforunload(){  window.onbeforeunload=perforresult;  //window.onbeforeunload 表示.用户关闭浏览器或者是当前网页前执行的操作.... 当页面关闭时操作的内容  如   return 信息;
  • Onunload与OnbeforeunloadOnunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过window.onunload来...Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,...
  • 当用户退出页面页面关闭、页面刷新等),触发onUnload事件,同时执行被调用的程序。 注意:不同浏览器对onunload事件支持不同。 如下代码,当退出页面,弹出对话框“您确定离开该网页吗?”。 ...
  • js页面刷新或关闭beforeunload事件

    千次阅读 2019-02-16 16:35:34
    beforeunload事件在当前页面关闭或刷新调用; jquery离开页面弹出提示代码 //绑定beforeunload事件 $(window).bind('beforeunload',function(){ return '您输入的内容尚未保存,确定离开此页面吗?'; }); //...
  • 当窗口即将被卸载(关闭,会触发事件.此时页面文档依然可见,且该事件的默认动作可以被取消。 事件创建 <body onbeforeunload="fun()"></body> window.onbeforeunload=function(){fun();}; window....
  • 刚写了一个关闭网页时触发一个onunload事件功能做一些处理,但是该onunload事件在ie8中无法触发,在火狐和谷哥浏览器都可以触发,请帮看看怎么回事,代码如下: 1、js代码: var readID = '${readID}'; ...
  • Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过...Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服...
  • onbeforeunload:在页面刷新和关闭的时候触发事件,表示正要去服务器读 取新的页面时调用,此时还没开始读取,onunload:则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时...
  • jQuery离开页面弹出提示代码 //绑定beforeunload事件 $(window).bind('beforeunload',function(){ ...//解除绑定,一般放在提交触发事件中 $(window).unbind('beforeunload'); js离开页面提示window.onbeforeunload =
  • JS 浏览器关闭事件

    2013-05-06 17:25:00
    JS判断页面刷新、关闭标签页、关闭浏览器,关闭页面之前的操作方法 这几天在想一个问题,就是用户登录,使用session保存用户登录数据和时间,那用户退出的时候怎么能得到该用户的退出时间呢?? 因为用户可能不是使用...
  • iview路由关闭页面触发事件上代码before-close.js文件里的部分内容表单页 部分内容 上代码 这是routers.js文件 beforeCloseName: (-) 设置该字段,则在关闭当前tab页会去’@/router/before-close.js’里寻找该字段...
  • 关闭jquery-easui tab标签...点击父页面tab 页关闭按钮,需要做判断,判断该tab页面是否可以关闭:获取子页面js中定义的taskStatus,如果taskStatu不为taskEnd,则表示任务还在执行,不让关闭 解决方法 ...
  • 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失。这里面的实现过程很简单...
  • onbeforeunload 事件在即将离开当前页面(刷新或关闭时触发。 onunload事件 onunload 事件在用户退出页面时发生。 onbeforeunload和onunload用法基本相同: // JS方式:onbeforeunload window....
  • 点击父页面tab 页关闭按钮,需要做判断,判断该tab页面是否可以关闭:获取子页面js中定义的taskStatus,如果taskStatu不为taskEnd,则表示任务还在执行,不让关闭 解决方法 给tab标签页增加onBeforeClose事件处理...
  • js 事件

    2019-09-15 09:54:10
    js处理事件 处理窗口事件 1.onload事件 当用户进入页面,而且所用页面元素完成加载时就会触发这个事件(最典型的是广告弹窗) 原生的onload()事件只会...用户关闭窗口时触发这个事件 3.onbeforeunload onbefor...
  • 一:onbeforeunload is work 没有alert出来,事件触发了,因为页面跳转的时候,window对象和DOM对象都已经被销毁了,所有alert不能执行如果在事件里面加上一段ajax请求是可以执行的,但是ajax请求一部返回就不一定能...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 137
精华内容 54
关键字:

js页面关闭时触发事件