要确保onbeforeunload
事件仅触发一次,您可以使用一个标志变量来跟踪事件是否已经触发过。下面是一个简单的示例:
// 定义一个标志变量
let hasTriggered = false;
// 定义 onbeforeunload 事件处理函数
window.onbeforeunload = function (e) {
// 检查标志变量,确保事件仅触发一次
if (!hasTriggered) {
// 设置标志变量为 true,表示事件已触发
hasTriggered = true;
// 在此处添加您希望在 onbeforeunload 事件触发时执行的代码
console.log('onbeforeunload 事件已触发一次');
}
// 返回一个字符串,指示用户离开页面时的操作
return '您确定要离开此页面吗?';
};
通过这种方式,您可以确保onbeforeunload
事件仅触发一次。请注意,某些浏览器可能会忽略或限制onbeforeunload
事件的使用,因此请确保在不同浏览器上进行充分测试。