Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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 用户是否可以刷新网页并同时重定向到另一个url?_Javascript_Jquery - Fatal编程技术网

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

Javascript 用户是否可以刷新网页并同时重定向到另一个url?,javascript,jquery,Javascript,Jquery,现在,我正试图在我的项目中实现带有重定向到其他url功能的刷新机制 我的重新加载回调如下所示: <script type="text/javascript"> var connection; // connection will build up in the following code $(window).bind('beforeunload',function(){ connection.close(); console.log(connection.read

现在,我正试图在我的项目中实现带有重定向到其他url功能的刷新机制

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

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

变量连接;//连接将在以下代码中建立
$(窗口).bind('beforeunload',function(){
connection.close();
console.log(connection.readyState);
//我试着从这里重定向
window.location.replace(“http://stackoverflow.com");
return“您确定要离开吗?”;
});
下面的代码不起作用。我的问题有可能解决吗


谢谢

您可以使用
确认
对话框询问用户是否希望离开

如果用户希望离开,您可以使用
location.reload()
刷新页面,然后通过分配
location.href
新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.
}
编辑

要使其在重新加载时发生,我们可以使用(未经测试):

卸载事件在窗口卸载其内容和资源时引发。资源删除在卸载事件发生后进行

像这样的方法应该会奏效:

$(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,禁止您在卸载时发出警告,可能确认符合该类别,但请随意尝试。

如果我不想在第一次访问页面时看到确认对话框,该怎么办?@CWC有这么多选项,这取决于您想如何实现它。您希望在每次访问站点时自动执行此操作(第一次除外),还是希望使用某种按钮?你在寻找一个事件监听器,我想,事件由你决定。如果您遇到墙,并且进一步的研究无法帮助您理解问题,请随时提出新问题:)我希望在第一次访问和用户刷新页面时创建一个没有任何对话框的页面(重新加载)=>网页将重定向到(带有一些对话框信息)~谢谢