我怎么知道 iframe 已经完成加载
本文关键字:加载 iframe 我怎么知道 | 更新日期: 2023-09-27 18:36:43
单击按钮时,我使用 iframe 从我的 Web 应用程序下载文件。
这是我的代码:
iframe = document.createElement("iframe");
iframe.src = "Report/ExportFile.aspx";
iframe.style.display = "none";
document.body.appendChild(iframe);
我想在父页面(包含 iframe 的页面)中调用一个函数来停止加载动画。
我需要知道iframe何时完成加载,并且弹出保存/打开对话框以停止它。
我试图在 iframe.onload = function() {//close } 中停止动画,但问题是在 iframe 页面加载中我有以下代码:
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=ExcelDemo.xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
Response.Flush();
Response.End();
因此,页面执行将终止。
有没有人有解决方案,我怎么知道 iframe 已加载?
我认为您需要参与一些客户端脚本:
$("#iFrameId").load(function (){
// Do something, probably an AJAX request in your case
});
一种解决方案是在 iframe javascript 中有一个方法,您可以在 iframe 完成加载时调用该方法。 在此方法中,调用父页面上的方法:
var iFrameLoaded = function () {
parent.stopLoadingAnimation();
};
要在 iframe 页面加载代码后继续加载页面,请删除 Response.End(),以便继续执行。
你可以看到这个,jquery iframeloaded。
function iframeLoaded() {
alert("Iframe loaded!");
}
祝你好运!