【问题标题】:How to prevent user from navigating to other pages in javascript silently (without confirmation dialogbox)?如何防止用户在javascript中静默导航到其他页面(没有确认对话框)?
【发布时间】:2014-04-17 01:55:21
【问题描述】:

我想以某种方式阻止用户导航到 javascript 中的其他页面(静默没有任何确认对话框)。 我尝试这样做:

window.onbeforeunload = function (e) {
   e.preventDefault();
}

window.onbeforeunload = function (e) {
   return false;
}

window.onbeforeunload = function (e) {
   return;
}

以上代码均无效。除了第二个例子,显示一个确认框。

问题是我想默默地阻止这种情况(没有任何对话框),就像什么都没发生一样。

【问题讨论】:

  • 你将无法默默地做到这一点
  • 这是个坏主意。用户可以禁用 JavaScript 来回避这一点。
  • 如果你想在你的页面上诱捕某人,你不能。也就是说,如果您想阻止某人关注您页面上的任何链接,您可以随时将它们全部更改为指向无处。 IE。 href="#'

标签: javascript onbeforeunload preventdefault


【解决方案1】:

在关闭前向用户显示警告文本:

window.onbeforeunload = function(e) 
{
    return 'You are about to close the page. Are you sure you want to do this?';
};

也就是说,您无法阻止用户离开您的网站。那将是一场安全噩梦。此外,用户可以随时关闭浏览器。

【讨论】:

    猜你喜欢
    • 2019-06-20
    • 1970-01-01
    • 2012-07-28
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    相关资源
    最近更新 更多