现在,我正在尝试实现刷新机制,并重定向到我项目中的其他网址功能。
我的重新加载回调如下所示:
<script type="text/javascript">
var connection; // connection will build up in the following code
$(window).bind('beforeunload',function(){
connection.close();
console.log(connection.readyState);
//I try to redirect from here
window.location.replace("http://stackoverflow.com");
return 'are you sure you want to leave?';
});
</script>
以下代码不起作用。对我的问题有任何可行的解决方案吗?
谢谢!
答案 0 :(得分:3)
您可以使用confirm
对话框询问用户是否要离开。
如果用户希望离开,您可以使用location.reload()
刷新页面,然后通过为{h}分配location.href
值将其重定向到新目的地。
但是,当然,如果您要将用户重定向到其他地方,那么以前的操作(刷新)是不必要的,但这取决于您:
var reload = confirm("are you sure you want to leave?");
if(reload)
{
location.reload(); // Refresh the site, not needed really.
location.href = "http://stackoverflow.com"; // Redirect.
}
修改强>
为了在重新加载时实现,我们可以使用unload(未经测试):
当窗口卸载其内容和资源时,会引发unload事件。在卸载事件发生后处理资源删除。
这样的事情应该有效:
$(window).unload(function()
{
var reload = confirm("are you sure you want to leave?");
if(reload)
{
location.reload(); // Refresh the site, not needed really.
location.href = "http://stackoverflow.com"; // Redirect.
}
});
请注意,某些浏览器(如Chrome)禁止您在卸载时发出警报,可能会确认适合该类别,但可以随意尝试。