Javascript Onbeforeunload不';在身体中单击鼠标一次后,才能工作

Javascript Onbeforeunload不';在身体中单击鼠标一次后,才能工作,javascript,jquery,cross-browser,onbeforeunload,Javascript,Jquery,Cross Browser,Onbeforeunload,在花了一整天的时间试图找到解决这个问题的办法之后,我一直遇到同样的问题 基本上,我有一个网站,如果用户点击“浏览器刷新”按钮,我想弹出一个“确定”警告框,选项为“重新加载”和“不重新加载”(基本上是浏览器返回的内容) 令人惊讶的是,它在IE中工作得很好。但在chrome或firefox中,刷新通常在没有弹出窗口的情况下进行 只有在我单击主体的某个位置,然后单击“浏览器刷新”按钮时,才会出现弹出窗口 我已经提出了以下和其他许多类似的备选方案: window.onbeforeunload = fun

在花了一整天的时间试图找到解决这个问题的办法之后,我一直遇到同样的问题

基本上,我有一个网站,如果用户点击“浏览器刷新”按钮,我想弹出一个“确定”警告框,选项为“重新加载”和“不重新加载”(基本上是浏览器返回的内容)

令人惊讶的是,它在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';
};
我试图用“触发器('click')”、“.click()”事件模拟页面加载上的单击事件

但是,直到我自己(用身体)点击身体,它仍然不起作用

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

任何帮助都将不胜感激。提前谢谢

也许是迟来的回答

以下是说明:

注意:为了消除不必要的弹出窗口,浏览器可能不会显示在beforeunload事件处理程序中创建的提示,除非页面已与之交互,或者甚至可能根本不显示它们


这与您观察到的行为相符。

为什么您首先需要这样做?如果没有与页面的交互,也没有需要警告用户的正当理由,用户会感到恼火。这只是一个例子,并指出了确切的问题。我看到几乎所有问题都有这样的回答。这是一个付款页,我在一个项目工作所必需的。我不能再详细说明了,但就这一点而言,有一个合理的理由需要警告用户。除了身体需要点击的那一部分,我都做完了。因为Chrome 60:Yes同意,在尝试了几种方法之后,实际的点击是强制性的。因此,我们选择了从后端替代解决方案!谢谢你的回复,菲利克斯。