0

我有一个较小的新窗口,而不是通过下载 pdf 打开一个新标签。我只想要来自 downlado.jsp 的回调变量,即当它的工作在父窗口上完成以关闭 downlado.jsp .from 时,我调用了 send me 函数。

JavaScript:

function sendme()
{
    winname = "myNewWin";
    window.open("","myNewWin","width=500,height=300,toolbar=0");
    lsurl  = "downlado.jsp";
    window.document.Form.action = lsurl;
    window.document.Form.target = winName;
    window.document.Form.submit();
    window.setTimeout("window.close",5000);
 }

例如

function callback()
{
    close download jsp;
}
4

1 回答 1

0

不幸的是,这在纯 Javascript 中是不可能的。但是,您可以使用以下解决方法:

  • 在新窗口中开始下载
  • 定期对服务器进行 AJAX 调用以检查下载是否完成。
  • 如果是,请关闭窗口。

好的,至于 AJAX 部分,你需要知道两件事:

  1. 如何进行 AJAX 调用 - 这非常简单,网络上有很多示例。如果您不熟悉 AJAX,我建议您使用JQuery
  2. 您需要来自 HTTP 服务器的信息来告诉您文件何时完成下载。假设您使用 Apache,那么这个关于条件日志的答案可能会让您知道在哪里查看(尽管您可能希望在可以进行 AJAX 调用的某个地方创建一个新文件而不是删除该文件 - 并确定该文件是否下载完毕)。
于 2012-10-26T09:28:31.440 回答