0

我有一个使用 XMLHttpRequests 的上传脚本,我还使用了 html5 历史 API。我需要检查是否正在进行上传,以便如果用户导航回上传页面,将显示上传进度。

这是我尝试过的;

$(document).on("changePage", function(){ 
    //changePage is the trigger I have created that is fired whenever the page is changed
    if(typeof xhr != 'undefined'){
        if(xhr.upload.onprogress){
            uploading_tools();
        } 
    }
});

通过一些测试,我意识到xhr每当您离开上传页面时,它都会变得未定义。这与 html5audio元素不同。我还在我正在处理的网站上使用 html5 音频,并测试它是否audio以相同的方式成功定义。

4

1 回答 1

0

如果您谈论的是在上传期间保持打开状态的同一页面,那么您可以使用一些状态(例如您自己的变量)来跟踪上传何时开始以及何时完成,然后您可以随时检查该状态想知道上传是否仍在进行中。

如果您谈论的是用户在同一个上传 URL 上打开一个新的浏览器窗口但开始一个新的上传页面,并且您想以某种方式在该新页面中反映其他浏览器窗口中发生的情况,那么这并不简单而且您可能需要使用某些窗口间通信或某些跨窗口状态(例如本地存储或 cookie)。

对于更具体的建议,您必须解释“用户导航回上传页面”的意思。如果上传的页面曾经关闭,那么上传无论如何都会停止,对吗?

于 2013-08-21T23:29:08.747 回答