Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止用户在javascript中以静默方式导航到其他页面(没有确认对话框)?_Javascript_Onbeforeunload_Preventdefault - Fatal编程技术网

如何防止用户在javascript中以静默方式导航到其他页面(没有确认对话框)?

如何防止用户在javascript中以静默方式导航到其他页面(没有确认对话框)?,javascript,onbeforeunload,preventdefault,Javascript,Onbeforeunload,Preventdefault,我想以某种方式阻止用户导航到javascript中的其他页面(无需任何确认对话框而保持沉默)。 我试图通过以下方式实现这一点: window.onbeforeunload = function (e) { e.preventDefault(); } 或 或 以上代码都不起作用。除第二个示例外,显示一个确认框 问题是,我希望以静默方式(没有任何对话框)阻止此操作,就像什么都没有发生一样。要在关闭前向用户显示警告文本,请执行以下操作: window.onbeforeunload = func

我想以某种方式阻止用户导航到javascript中的其他页面(无需任何确认对话框而保持沉默)。 我试图通过以下方式实现这一点:

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

以上代码都不起作用。除第二个示例外,显示一个确认框


问题是,我希望以静默方式(没有任何对话框)阻止此操作,就像什么都没有发生一样。

要在关闭前向用户显示警告文本,请执行以下操作:

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

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

您将无法愚蠢地执行此操作。这是一个坏主意。用户可以禁用JavaScript来回避这个问题。如果你试图在你的页面上诱捕某人,你不能。这就是说,如果你想阻止某人跟踪你页面上的任何链接,你可以随时将它们全部更改为指向别处。Ie.
href=“#”
window.onbeforeunload = function (e) {
   return;
}
window.onbeforeunload = function(e) 
{
    return 'You are about to close the page. Are you sure you want to do this?';
};