0

我正在使用 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 函数中放置一些东西,等待子窗口完成加载然后运行一些代码?

4

1 回答 1

1

手动打开窗口并将就绪事件附加到结果窗口的文档中:

$(window.open("your image url here").document).ready(handler);

或者

使用现有的 ImageLink,但将其指向带有图像的 HTML 页面,而不仅仅是图像本身。页面可以有它自己的就绪处理程序并使用 window.opener 回调:

$(document).ready(function () { window.opener.YourMethodHere() })
于 2013-04-26T18:48:46.297 回答