gpt4 book ai didi

javascript - 如何停止卸载页面?

转载 作者:搜寻专家 更新时间:2023-11-01 05:06:49 26 4
gpt4 key购买 nike

我有一个页面,用户需要在其中输入一些数据并单击保存以验证更改,但我的问题是如果用户试图关闭浏览器窗口或单击不同的链接以导航到不同的页面。我需要删除用户到目前为止保存的所有条目..我是按照以下方式做的

window.onbeforeunload = function() 
{
if(confirm('Are you sure you want to navigate'))
{
//Invoke `enter code here`server side method
}
else
{
// return false;
}
}

如果他点击"is"一切正常,当他点击“否”时问题就来了。即使他点击“否”......页面卸载方法被调用并且被重定向到另一个页面..但是我希望它以相同的状态保留在同一页面中...请您帮助我实现这一目标。

感谢并感谢您的回复....

最佳答案

您无法阻止用户离开页面。您可以做的是向他们提醒一条消息,询问他们是否要离开。

window.onbeforeunload 事件应该返回一个字符串(并且只返回一个字符串)。该字符串将打印在浏览器制作的警告框上。

您不能使用自己的警告框,或阻止用户离开(或重定向他们)。

window.onbeforeunload = function(){
return 'Are you sure you want to leave?';
};

或者使用 jQuery

$(window).on('beforeunload', function(){
return 'Are you sure you want to leave?';
});

当用户离开页面时,您可以使用 onunload 事件进行 AJAX 调用(您可能需要在此处使用 async: false)。

例子:

$(window).unload(function(){
$.ajax({
url: '/path/to/page/',
async: false, // this may be needed to make sure the browser doesn't
// unload before this is done
success: function(){
// Do something
}
});
});

注意:与其这样做,不如在用户完成时保存所有内容?而不是保存它然后在用户没有完成时将其删除?

关于javascript - 如何停止卸载页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9810527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com