Javascript 检查是否正在进行异步上载
我有一个使用XMLHttpRequests的上传脚本,我还使用了html5历史api。我需要检查上传是否正在进行,这样如果用户导航回上传页面,上传的进度就会显示出来 以下是我尝试过的Javascript 检查是否正在进行异步上载,javascript,html,xmlhttprequest,Javascript,Html,Xmlhttprequest,我有一个使用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 != 'unde
$(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
都会变得未定义。这与html5的音频元素不同。我还在我正在工作的网站上使用html5音频,我测试音频
是否以与成功相同的方式定义 如果您谈论的是在上载过程中保持打开状态的同一页面,那么您可以使用一些状态(例如您自己的变量)来跟踪上载何时开始以及何时完成,然后您可以随时检查该状态,以了解上载是否仍在进行中
如果您谈论的是用户在同一上传URL上打开一个新的浏览器窗口,但启动一个新的上传页面,并且您希望在该新页面中反映其他浏览器窗口中发生的情况,那么这并不是那么简单,您可能需要使用一些窗口间通信或一些跨窗口状态(如本地存储或cookie)
对于更具体的建议,您必须解释“用户导航回上传页面”的含义。如果进行上传的页面曾经被关闭,那么无论如何上传都会停止,对吗?我想我应该解释一下html5历史api的功能。基本上我需要这样做,因为用户可以在不刷新整页的情况下更改页面,因此
changePage
。