前言:
如今我们对“js监听页面后退”大概比较珍视,姐妹们都需要知道一些“js监听页面后退”的相关文章。那么小编同时在网上网罗了一些对于“js监听页面后退””的相关内容,希望我们能喜欢,我们快快来学习一下吧!JavaScript 代码添加了一个 beforeunload 事件监听器,提示用户在关闭标签页或浏览器窗口时确认离开,尝试关闭这个标签或浏览器窗口,你会看到提示消息。
写在前面,谷歌浏览器下可能会浏览器安全策略当做恶意弹窗拒绝执行,可以留意下浏览器动态。另外自定义的文案可能不能展示,浏览器会使用默认的弹窗文案。
代码示例如下:很简单的demo,请拿走吧。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Before Unload Example</title> <script> window.addEventListener('beforeunload', function (e) { var confirmationMessage = '你确定要离开这个页面吗?'; // 标准的处理方式 e.preventDefault(); // 设置兼容旧版本的浏览器 e.returnValue = confirmationMessage; return confirmationMessage; }); </script></head><body> <h1>Before Unload Example</h1> <p>尝试关闭这个标签或浏览器窗口,你会看到提示消息。</p></body></html>
关键代码示意:
window.addEventListener('beforeunload', function (e) { ... });:为 beforeunload 事件添加一个监听器,触发时会执行其中的函数。e.preventDefault();:调用 preventDefault 方法,这是现代浏览器处理 beforeunload 事件的标准方法。e.returnValue = confirmationMessage;:设置 returnValue 属性,这在某些浏览器中是必须的。return confirmationMessage;:返回消息,这对于一些浏览器也是必需的,以确保提示消息能够显示。
这段代码做了一些兼容,适配多数浏览器,可以确保大多数情况下都能正确提示用户。
调试效果:
谷歌浏览器-挽留弹窗
火狐浏览器-挽留弹窗
标签: #js监听页面后退