我正在使用ASP.NET MVC和Jquery。我有一个用户点击的图像链接。它会在新窗口中打开一些东西。
Html.ImageLink("createreport",
"Report",
"GetPDFReport",
"?sid=10",
Url.Content("~/Content/images/pdf.png"),
"Get Report",
null,
"imagelink",
new { target = "_blank" },
true,
"reportRetrieved();"
)
这为用户打开了一个新窗口。单击链接后立即调用reportRetrieved函数。我有一些清理工作需要在新窗口完全加载后完成。
我可以在reportRetrieved函数中执行此操作,但我无法判断子窗口是否已完全加载。根据具体情况,子窗口可能需要2秒钟才能加载或5分钟。
那么有没有办法在reportRetrieved函数中放置一些东西来等待子窗口完成加载然后运行一些代码?
答案 0 :(得分:1)
手动打开窗口并将ready事件附加到生成的窗口文档中:
$(window.open("your image url here").document).ready(handler);
或
使用现有的ImageLink,但将其指向包含图像的HTML页面,而不仅仅是图像本身。该页面可以拥有自己的就绪处理程序,并使用window.opener回调:
$(document).ready(function () { window.opener.YourMethodHere() })