小编Kan*_*Rai的帖子

Onbeforeunload 在鼠标在主体中单击一次后才起作用

经过一整天的努力寻找这个问题的解决方案后,我不断遇到同样的问题。

基本上,我有一个网站,如果用户单击“浏览器刷新”按钮,我想弹出一个“你确定吗”警报框,其中包含选项“重新加载”和“不重新加载”(基本上,浏览器返回的内容)。

令人惊讶的是,它在 IE 中运行得很好。但在 Chrome 或 Firefox 中,刷新正常发生,没有弹出窗口。

仅当我单击正文的某个位置,然后单击“浏览器刷新”按钮时,才会出现弹出窗口。

我已经有以下和其他许多类似的替代方案:

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

   // For IE and Firefox prior to version 4
   if (e) {
       e.returnValue = 'Any string';
   }

  // For Safari
  return 'Any string';
};
Run Code Online (Sandbox Code Playgroud)

我尝试使用“trigger('click')”、“.click()”事件模拟页面加载时的点击事件。

但是,直到我自己(物理上)点击身体之前仍然不起作用。

我创建了一支短笔,它复制了我面临的问题。

https://codepen.io/kanchanrai/pen/LQEZYV

任何帮助将非常感激。提前致谢。

javascript jquery cross-browser onbeforeunload

5
推荐指数
1
解决办法
3597
查看次数