想要在模拟表单下载文件的时候监听下载完成进度。
搜到方法是将文件下载指向一个iframe,示例代码如下
function downFile(url, method, params) {
var form = $("#formDownload");
form.empty();
form.attr("method", method);
form.attr("action", url);
for ( var i in params) {
var param=params[i];
var input = $("<input>");
input.attr("type", "hidden");
input.attr("name", param.name);
input.attr("value", param.value);
form.append(input);
}
form.submit();
var oFrm = $('#downloadTarget')[0];
oFrm.onload = oFrm.onreadystatechange = function() {
console.log("wancheng");
if (this.readyState && this.readyState != 'complete') return;
else {
onComplete();
}
}
}
然而在Typescript中使用时,会显示HTMLElement
上不存在属性onreadystatechang
,查阅资料说需要给oFrm限定类型,改成HTMLIFrameElement
即可。但是改完后却提示HTMLIFrameElement
上不存在属性onreadystatechange
。请问该如何修改呢?
试一下这样