`
wangsuting
  • 浏览: 29765 次
社区版块
存档分类
最新评论

当离开页面时对未保存内容保存(window.onunload与window.onbeforeunload)

 
阅读更多

离开页面或关闭浏览器时,这两个方法可以被执行。

1、onunload事件:

当用户关闭一个页面时触发 onunload 事件。

  1.关闭浏览器窗口

        2.通过地址栏或收藏夹前往其他页面的时候

        3.点击返回,前进,刷新,主页其中一个的时候  

        4.点击一个前往其他页面的url连接的时候

2、onbeforeunload事件:
事件触发的时候弹出一个有确定和取消的对话框,确定则离开页面,取消则继续待在本页。handler可以设一个返回值作为该对话框的显示文本。

       1.关闭浏览器窗口

        2.通过地址栏或收藏夹前往其他页面的时候

        3.点击返回,前进,刷新,主页其中一个的时候  

        4.点击一个前往其他页面的url连接的时候

2、两者区别:

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

4.兼容性测试:

      1.onunload事件

 

 

  关闭页面 跳转页面 关闭浏览器 刷新页面
谷歌 支持 支持 支持 支持
火狐 不支持 不支持 不支持 不支持
safari 不支持 支持 不支持 支持
opera 支持 支持 支持 支持

 

   2.onbeforeunload事件

 

  关闭页面 跳转页面 关闭浏览器 刷新页面
谷歌 支持 支持 支持 支持
火狐 不支持 不支持 不支持 不支持
safari 支持 支持 支持 支持
opera 支持 支持 支持 支持

 

                 IE浏览器不支持onbeforeunload事件,会继续查找兼容方法

 

3.用法:

放在<script>脚本里面:

 window.onbeforeunload = unbeforeloadPage;

  function unbeforeloadPage() {
      localStorage.input = document.getElementById('input').value;
      alert("unbeforeload event detected!");
      $.ajax({
         url: '/test',
         type: 'POST',
         data:{value: document.getElementById('input').value},
         async : false,
         success:function(){},
         error:function(){}
      })
       return 'content is not save';
  }

      async : false 要加上,否则ajax不执行。

 

 

 2.

$(window).bind('beforeunload', function(){
     ....
     return '提示框上的文本'

}

 

 

 

 

 

 

 

分享到:
评论

相关推荐

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

    但是,在实际应用中我们都发现一个问题,刷新浏览器同样会触发 onunload 事件,也就是只要是离开该页面就会触发 onunload 事件,或许刷新时我们并不想执行 onunload 定义的操作,或者我们只想在刷新时执行某操作,...

    javascript Onunload与Onbeforeunload使用小结.docx

    ### JavaScript中的`...通过对`onunload`与`onbeforeunload`这两个事件的深入探讨,我们可以更好地理解它们的特点及应用场景。在实际项目开发中,合理利用这两个事件能够有效提升用户体验并避免潜在的数据丢失问题。

    JS监听关闭浏览器事件之Onunload与Onbeforeunload

    在JavaScript中,对浏览器窗口关闭事件的监听是开发者经常需要用到的功能,这可以帮助我们在用户离开页面时执行一些必要的操作,比如保存数据、清理资源或者显示确认提示。本文将深入探讨两个关键的JavaScript事件:...

    javascript经典特效---离开页面弹出窗口.rar

    在本主题"javascript经典特效---离开页面弹出窗口"中,我们主要关注的是如何利用JavaScript来实现用户试图离开网页时弹出确认对话框的功能。 在网页设计中,有时我们希望在用户即将关闭浏览器窗口或跳转到其他页面...

    基于JavaScript判断浏览器到底是关闭还是刷新(超准确)

    本文是小编总结的一些核心内容,个人感觉对大家有所帮助,具体内容请看下文: 页面加载时只执行onload 页面关闭时只执行onunload 页面刷新时先执行onbeforeunload,然后onunload,最后onload。 经过验证我得出的...

    vuejs中监听窗口关闭和窗口刷新事件的方法

    在Vue.js中实现对窗口关闭和刷新事件的监听,是一种常见的需求,可以用来在用户离开页面之前保存信息、提示用户是否真的想要关闭或者刷新页面等。以下是关于如何在Vue.js项目中实现监听窗口关闭和刷新事件的一些方法...

    用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)

    Onunload,onbeforeunload都是在刷新或关闭时调用,可以在[removed]脚本中通过[removed]来指定或者在&lt;body&gt;里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。 Onbeforeunload...

    javascript Onunload与Onbeforeunload使用小结

    JavaScript中的`onunload`和`onbeforeunload`是两个与页面生命周期紧密相关的事件处理函数,它们主要用于在用户离开页面(例如,关闭浏览器窗口、点击刷新按钮或者导航到其他页面)时执行某些操作。这两个事件可以...

    浅谈javascript中onbeforeunload与onunload事件

    JavaScript中的`onbeforeunload`和`onunload`事件是页面生命周期中的两个关键事件,它们用于在用户准备离开页面或实际离开页面时执行某些操作。这两个事件可以帮助开发者实现一些特定的功能,比如数据保存、缓存处理...

    onbeforeunload与onunload事件异同点总结

    在JavaScript中,`onbeforeunload` 和 `onunload` 是两个重要的页面生命周期事件,它们用于处理用户离开页面的情况。这两个事件在处理用户交互和页面状态的监控方面具有关键作用。 **1) 异同点** **相同点**: - ...

    JS监听关闭浏览器事件

    与`onbeforeunload`不同,`onunload`事件是在页面已经被卸载之后触发的,这意味着此时已经没有机会阻止用户离开页面了。因此,`onunload`事件更适用于清理工作,如释放资源、清除定时器等。 ##### 示例代码分析: `...

    JS针对浏览器窗口关闭事件的监听方法集锦

    这些监听方法有助于开发者在用户离开页面之前执行某些操作,如询问用户是否确认离开,或者自动保存数据。然而,现代浏览器可能对`onbeforeunload`事件的处理有所限制,可能不再允许自定义警告消息,而是显示默认的...

    js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)

    当开发者需要在用户尝试离开当前页面时提示用户,以防止用户在未保存工作的情况下离开,JavaScript 提供了两种主要的方式来实现这一需求:`window.onbeforeunload`事件和传统的`window.onunload`事件。 `window....

    用JS判断浏览器刷新还是关闭

    - 可以用来询问用户是否真的想要离开页面(例如显示确认对话框)。 - 如果返回值为非空字符串,则会显示默认的警告消息(除非使用 `window.event.returnValue = '';` 阻止)。 2. **屏幕坐标系统**: - `window....

    关闭页面时清空Session (ASP.net ) (已实现)

    当用户离开页面或关闭浏览器时,通常不再需要保留其Session信息。这有助于释放服务器资源,并且对于某些应用场景来说,这样做也是出于安全考虑,例如避免敏感信息泄露给其他用户。 #### 2.2 如何清除Session 在ASP...

    javascript经典特效---检查窗口的关闭打开.rar

    JavaScript是一种广泛应用于网页和网络应用开发的...无论是提示用户确认离开页面,还是在多个窗口间传递数据,都能帮助提升用户体验。希望这个压缩包提供的示例能对你有所帮助,让你在JavaScript的学习道路上更进一步。

    判断浏览器是刷新还是关闭窗口

    在网页开发过程中,我们常常希望能在用户退出或离开当前页面时执行一些特定的操作,比如保存用户的状态、显示一个警告框等。为此,JavaScript 提供了 `onunload` 事件,它会在浏览器窗口被关闭或者用户离开当前页面...

    如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”

    在网页开发中,有时我们希望用户在离开页面之前得到确认提示,以防他们意外丢失未保存的数据。Chrome 浏览器提供了 `onbeforeunload` 事件,使得开发者可以在用户尝试关闭浏览器窗口或离开页面时弹出一个确认对话框...

Global site tag (gtag.js) - Google Analytics