执行downFile方法 像是没指向iframe 还是 判断iframe加载完成的事件有错?
<form id="formDownload" target="downloadTarget" style="display:none;">
<div class="form-params">
<!-- 提交到后台的参数,如果有多个参数,可以用多个hidden -->
<input type="hidden" name="param" value="" />
</div>
</form>
<iframe id="downloadTarget" name="downloadTarget" style="display:none;"></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();
}
}
}
iframe
加载完成会触发onload
事件,可以通过这个事件来判断。