jQuery的;找出子窗口加载完成的时间

时间:2013-04-26 18:03:40

标签: jquery asp.net

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

1 个答案:

答案 0 :(得分:1)

手动打开窗口并将ready事件附加到生成的窗口文档中:

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

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

$(document).ready(function () { window.opener.YourMethodHere() })