我是否可以在卸载之前将用户重定向到(&Q;;)?如果不能,怎么做?

2022-02-21 00:00:00 redirect browser javascript

用户关闭浏览器时是否可以重定向到其他页面?

尝试次数:

  1. 我尝试onunload,不起作用

    window.onunload = function redirect(){...}
    
  2. 我还尝试了另一种方法,也不起作用:

    window.onbeforeunload = redirect(){...}
    
  3. <body onbeforeunload="return false; redirecty()">

第三种方法,我想取消onbeforeunload(表示延迟关闭浏览器),我调用重定向函数,window.confirm,如果是重定向,如果不是,则关闭浏览器。但效果不佳。

还有没有别的办法??当用户关闭浏览器时,可能会提示用户选择是否重定向到新页面?我的主意快用完了…


解决方案

您的onbeforeunload事件需要返回一个字符串(这不等于False),浏览器将在它自己显示给用户的消息中包含此字符串。

window.onbeforeunload = function(){
        location.assign('http://www.google.com');
        return "go to google instead?";
    }

然而,要以用户能够理解的方式来表达您的消息将是非常棘手的。我不确定这在所有浏览器中是否都是健壮的,我只是在Chrome上试了试,它起作用了,但我最终得到了一个我无法关闭的标签!谢天谢地,我通过Chrome任务管理器设法杀死了它。

相关文章