Javascript Chrome后退按钮意外终止上传流

Javascript Chrome后退按钮意外终止上传流,javascript,google-chrome,onbeforeunload,Javascript,Google Chrome,Onbeforeunload,我使用ajax更新/进度条为用户提供基于表单的文件上载,一次上载一个。我想给他们一个提醒,如果他们导航离开,任何当前上传将被取消。除了Chrome v.18之外,以下代码实现了这一目标。如果单击Chrome中的后退按钮,文件上载流将立即终止,抛出org.apache.commons.fileupload.FileUploadBase$IOFileUploadException:处理多部分/表单数据请求失败。流从commons.fileupload库意外结束 我找不到关于这个问题的任何具体信息,但

我使用ajax更新/进度条为用户提供基于表单的文件上载,一次上载一个。我想给他们一个提醒,如果他们导航离开,任何当前上传将被取消。除了Chrome v.18之外,以下代码实现了这一目标。如果单击Chrome中的后退按钮,文件上载流将立即终止,抛出org.apache.commons.fileupload.FileUploadBase$IOFileUploadException:处理多部分/表单数据请求失败。流从commons.fileupload库意外结束

我找不到关于这个问题的任何具体信息,但是有人知道这是不是我现在不得不忍受的事情吗?谢谢

编辑:我应该补充一点,Chrome仍然显示“离开页面”对话框,但此时上传已经停止,所以答案根本不会影响它。在Chrome中单击链接不会停止上传,其行为符合预期

window.onbeforeunload = 
    function(event) {
        if (upload_in_progress) {
            var msg = "You are uploading a file." +
              "If you leave this page the upload " +
              "will be cancelled.\n\nLeave page?";
            var event = event || window.event;
            if (event) { event.returnValue = msg; }
            return msg;
        }
    };

在Chrome和Safari中,连接到beforeunload事件的函数必须始终返回显示给用户的字符串值消息。

单击链接…不会停止上载?否。我得到了这个对话框,可以像预期的那样保持在页面上/离开页面,除非我选择离开页面,否则升级将继续。上面的代码就是这样做的。如果有一个事件,则有一条消息,该消息将按预期显示。问题是,正如上面在Chrome中所述,在向用户显示消息之前,上传流会停止,因此用户的回答与此无关。上面的代码并不总是返回字符串。它是有条件的,但应始终返回字符串。