我写了一个 js的onunload方法,但是在刷新页面的时候。会有个弹窗,然后我的方法就失效了
而且要对应谷歌,火狐,safari多种浏览器,有没有知道怎么解决
我写了一个 js的onunload方法,但是在刷新页面的时候。会有个弹窗,然后我的方法就失效了
而且要对应谷歌,火狐,safari多种浏览器,有没有知道怎么解决
回答如下,有帮助的话记得采纳哦!
window.onunload 方法在页面卸载之前触发,当用户离开页面时会触发这个事件。在页面刷新或关闭时,浏览器会发出确认消息,询问用户是否离开页面。如果用户点击“离开”按钮,浏览器就会触发 onunload 事件。
但是,由于浏览器发出的确认消息会中断脚本的执行,因此在确认消息出现之前就会执行 window.onunload 方法.
有一种方式可以解决此问题,就是使用 JavaScript 的 beforeunload 事件来代替 onunload 事件。这个事件在用户即将离开页面时触发,但是不会被浏览器的确认消息打断。
window.addEventListener("beforeunload", function (e) {
// your code here
});
不过需要注意的是,使用 beforeunload 事件也不能禁止用户离开页面,还是会有浏览器自带的弹窗,但是脚本会在弹窗出现前完成。