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