用户刷新网页是否可以同时重定向到另一个网址?

时间:2014-12-03 10:17:13

标签: javascript jquery

现在,我正在尝试实现刷新机制,并重定向到我项目中的其他网址功能。

我的重新加载回调如下所示:

<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>

以下代码不起作用。对我的问题有任何可行的解决方案吗?

谢谢!

1 个答案:

答案 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)禁止您在卸载时发出警报,可能会确认适合该类别,但可以随意尝试。