vue监听页面刷新事件_vue监听数据变化自动刷新

vue监听页面刷新事件_vue监听数据变化自动刷新运用的知识点:JavaScript的onbeforeunload函数使用方法window.onbeforeunload=function(){  return‘’;}注意:有返回值(”,true,false…都可以)才能弹出显示,或者有需要执行的事件也行。onload、onunload、onbeforeunload的执行问题:页面加载…

运用的知识点:JavaScript的 onbeforeunload 函数

使用方法

window.οnbefοreunlοad=function(){

  return ‘’;

}

注意:有返回值(’ ‘,true,false…都可以)才能弹出显示,或者有需要执行的事件也行。

 

onload、onunload、onbeforeunload的执行问题:

        页面加载时只执行onload

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

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

        注意:这种执行顺序是有浏览器的兼容问题的,请注意各种浏览器的区别。

 

onbeforeunload() 和onunload() 两个事件的区别:

        相同点:

                两者都是在对页面的关闭或刷新事件作个操作。

        不同点:

                onbeforeunload()事件执行的顺序在onunload()事件之前发生。(因为,onbeforeunload()是在页面刷新之前触发的事件,而onubload()是在页面关闭之后才会触发的)。

                onbeforeunload()事件可以禁止onunload()事件的触发。

                onunload()事件是无法阻止页面关闭的。

                浏览器的兼容性不同。


 

vue中监听页面刷新和离开

方法一:直接在mounted或者activated中写

mounted() {        //写在mounted或者activated生命周期内即可
    window.onbeforeunload = e => {      //刷新时弹出提示
        return ''
    };
},

兼容性更好的写法:

window.onbeforeunload = function (e) {
  e = e || window.event;

  // 兼容IE8和Firefox 4之前的版本
  if (e) {
    e.returnValue = '关闭提示';
  }

  // Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
  return '关闭提示';
};

方法二:添加监听

1. 在methods生命周期钩子中定义事件

methods: {
    beforeunloadFn (e) {
        // ...
    }
}

2.在 mounted 或者 activated 钩子中注册事件

mounted() {
    window.addEventListener('beforeunload', e => this.beforeunloadFn(e))
}

3. 在 destroyed 钩子卸载事件

destroyed() {
window.removeEventListener('beforeunload', e => this.beforeunloadFn(e))
}

 

参考文章:https://www.jb51.net/article/102461.htm

                  https://www.cnblogs.com/gavin0517/p/5827405.html

                  https://blog.csdn.net/tayshin/article/details/73770653

 

文章仅为本人学习过程的一个记录,仅供参考,如有问题,欢迎指出!

对博客文章的参考,若原文章博主介意,请联系删除!请原谅

                  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206826.html原文链接:https://javaforall.net

赞 (1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android 使用substring截取字符串

    Android 使用substring截取字符串请看如下代码://截取第一个字符StringNumOne=”A01013″.substring(0,1);//截取第一个字符之后的所有字符StringLastData=”A01013″.substring(1);StringNumOne1=”你好!”.substring(0,2);StringLastDataNew=LastData.replaceAll(“(.{1})”,”$1-“);//加入’-‘符.

    2022年5月23日
  • python激活_在线激活「建议收藏」

    (python激活)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
  • 数据库——操作数据库语句(select单表查询)

    数据库——操作数据库语句(select单表查询)前两天又装了oracle,开始再次学习数据库,希望这次可以系统的学习,主要是语句的学习。数据库操作语句SQL一、select   查询语句二、DDL 数据 定义 语句(create、drop、alter)三、DML数据操作语句(insert delect update)四、TCL 事务控制  语句(commit提交、rollback撤销、savep

    2022年6月1日
  • DCL之单例模式_实现一个单例模式

    DCL之单例模式_实现一个单例模式DoubleCheckLock

    2022年11月3日
  • python hexdump_笨办法学 Python · 续 练习 26:`hexdump`

    python hexdump_笨办法学 Python · 续 练习 26:`hexdump`练习26:hexdump你已经用xargs完成了热身,现在正在代码/审计的循环中。你现在将尝试以“测试优先”方式完成下一个挑战。这就是,你编写测试,它描述你的预期行为,然后实现该行为,直到通过测试。你将要复制hexdump工具,并尝试将你的版本的输出与真实版本匹配。这是“测试优先”开发真正有帮助的地方,因为它自动化了模仿另一个软件的流程。当你需要编写一个糟糕的软件的替代品时,这种技术非常有用。软…

    2022年9月21日
  • HTML+CSS+JS 实现登录注册界面[通俗易懂]

    HTML+CSS+JS 实现登录注册界面[通俗易懂]文章目录案例一滑动样式案例一滑动样式login.html<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><title>Login</title><linkrel=”stylesheet”href=”default.css”></head><body><divclass=”

    2022年7月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号