【问题标题】:I want to make a popup which does not allows user to close browser until popup closes我想制作一个弹出窗口,在弹出窗口关闭之前不允许用户关闭浏览器
【发布时间】:2017-06-14 08:42:02
【问题描述】:

我想制作一个弹出窗口,它会冻结浏览器,直到弹出窗口关闭。但是我被困在一个点上,因为在关闭浏览器时,它要求用户留下或离开,但是当用户点击离开时,它会关闭。相反,我想要一个当用户单击离开选项时,它要么重新加载站点,要么什么都不做,同样在第二次做同样的事情时,Chrome 会发出警报,以防止我想要禁用的任何其他对话,或者它应该什么都不做。直到弹出窗口关闭。因此,最终用户应该无法通过浏览器的关闭按钮或返回或替换 URL 来关闭浏览器。它应该冻结,直到满足弹出窗口的要求。谢谢你,请帮忙。

【问题讨论】:

  • 唯一的机会就是编写自己的浏览器。 :) 没有人想要弹出窗口我的朋友!真的没人。

标签: javascript jquery html popup freezable


【解决方案1】:

您不能强迫用户停留在您的网站上,因为浏览器不允许这样做(想想一个恶意网站强迫您停留在那里)。你的方法可能是你能做的最好的。显示一个对话框,上面写着类似的内容。 “退出时请稍候...”或类似的词。

如果您想隐藏“阻止此页面中的其他对话框”,您可以创建自己的对话框。只是一个带有 position: fixed 和 display: none 的 div,然后 onBeforeUnload 用 display: block 显示它。 这里有更多内容:Stackoverflow.com

【讨论】:

  • 非常感谢您的回答。
  • 很高兴我能帮上忙。您可以投票并接受它作为答案,以便其他人可以看到对您有用的方法。如果您需要进一步的帮助,请发表评论:)
  • 我的问题还没有解决。当我的弹出窗口出现时,我想禁用后退按钮。它是一个出现的警告框,我想禁用该功能以关闭浏览器,除非作为 JavaScript 警告框的弹出窗口关闭。
  • 您没有很好地阅读我的回答。您无法阻止浏览器关闭。如果用户想离开,他就离开。浏览器不允许 Javascript 中断它。想想一个阻止您关闭浏览器但您作为用户无法将其关闭的站点。这将是一个巨大的安全问题。
【解决方案2】:

在这种情况下,您可以使用引导弹出窗口: 像这样:

https://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_modal&stacked=h

在关闭按钮上的单击事件中,您可以添加新警报或其他一些弹出窗口。 并且关闭这种类型的弹出框不能反映其他数据..

也许对你有帮助!

【讨论】:

  • 感谢您的回答。你能给我一个代码来禁用弹出窗口打开时浏览器的关闭按钮吗
  • 当我的弹出窗口出现时,如何防止用户关闭浏览器。它是一个 JavaScript 警告框。我希望当框出现时用户不能使用关闭按钮关闭浏览器。
  • 实际上我们无法检测到浏览器事件..这不在我们的控制范围内..但正如我在回答中建议您的那样,您可以使用模型弹出窗口..
  • 有什么办法可以替换 onbeforeunload 默认对话框并添加自定义框,然后可以阻止用户离开?
猜你喜欢
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多