重定向onbeforeunload

时间:2014-03-23 22:36:22

标签: javascript jquery

我正在尝试重定向onbeforeunload但根本没有成功。这就是我到目前为止所拥有的:

window.location.href似乎不起作用。

window.onbeforeunload = function(e) {
       window.location.href = ("http://www.google.com");
        return "Are you sure you want to leave?";
};

这是持久的,它会重定向用户是否提示留下或离开。我只想在用户选择离开时重定向。

var stayonthis = true;
  var a;
  function load() {
   window.onbeforeunload = function(e) {
        if(stayonthis){
         a = setTimeout('window.location.href="http://google.com";',100);
         stayonthis = false;    
         return "Do you really want to leave now?";
        }
        else {
            clearTimeout(a);
        }

    };
    window.onunload = function(e) {
         clearTimeout(a);
    };
  }
  window.onload = load;

我能提出的最接近的是这个,但它会在新窗口中打开链接。我只想在同一个窗口中打开链接。

window.onbeforeunload = function(){
        window.open("http://www.google.com");//Setting parameters to _self or _parent still opens in new window.
        return "Are you sure you want to leave?";
}

我试图重定向到内部网址,如果这很重要的话。

建议非常感谢。感谢。

1 个答案:

答案 0 :(得分:1)

Onbeforeunload用于在您认为可能需要留在页面上时向用户提示消息。你无法根据响应,重定向或其他任何性质执行操作,如果他们点击留下他们留下,如果他们点击离开,他们就不会留下其他任何内容。