0

我们运行文件上传服务。上传文件时,用户需要留在页面上,所以我们使用 window.onbeforeunload:

window.onbeforeunload = function() {
    return 'You still have files uploading...';
};

当用户尝试重新加载页面、关闭页面或转到新 URL 时,浏览器会警告他,他有机会留在页面上。

这可行,但我们在 Chrome 中发现了一个奇怪的行为。

当您尝试访问您经常访问的站点的 URL 时,它不会向用户显示弹出窗口,而只是快速转到请求的页面。就我而言,我可以让它与 reddit.com、facebook.com 一起工作,但不是 dog.com。

认为这可能与预渲染或 Chrome 的其他一些优化有关,这使得它忽略了 onbeforeunload。

您可以通过访问http://ge.tt并开始文件上传来尝试一下。然后转到不同的 URL,并选择您经常访问的网站。Chrome 应该(错误地)让你这样做。

有谁知道该怎么做?onbeforeunload 不是我们应该再使用的东西吗?

4

0 回答 0