我无法在任何地方找到答案,而这些细节让我发疯。我一直负责更新旧的应用程序,只使用JavaScript的客户端用户界面的东西。过去使用PDF模板生成报告并手动循环数据集,基本上进行表单填充,然后显示报告。这已经使服务器多次崩溃。一旦报告数据被返回,如何停止动画GIF?
我已经更新了应用程序以使用报表服务器,以帮助使报表生成负载脱机。每个工作都很好,除了在报告返回后动画GIF不会停止。我使用:
<span id="hiddenImg" style="display: none">
<img src="" id="animate" align="middle" alt="Loading"/>
</span>
随着下面的JavaScript:
function showDiv()
{
document.getElementById('hiddenImg').style.display ="";
setTimeout('document.images["animate"].src="images/loading.gif"',100);
}
其中精美的作品。在服务器端,我有这样的:
Response.AddHeader("Content-Type", "application/" + format);
Response.AddHeader("Content-Disposition", "attachment;filename=" + "report." + format);
data = report.GetBytes(reportpath, rbFormat.SelectedValue);
Response.BinaryWrite(data);
Response.End();
其中数据是由报表服务器返回的字节流。
唯一不起作用的是即使在报告发送并且用户点击打开/保存/取消对话框后,动画GIF仍将继续播放。我怀疑它是Response.End();呼叫,但是即使消除这条线路并让服务器继续运行也不能缓解这个问题。在收到报告数据后,页面似乎没有执行任何回发,并且.html源文件显然显示了GIF。如果我手动回发,我将失去打开/保存/取消对话框,并且用户没有机会显示内容。
我在这里不知所措,我已经在这几个小时,任何帮助表示赞赏。 感谢提前。
[Javascript:我怎么知道IE文件下载提示弹出时可能的重复?](http://stackoverflow.com/questions/2948529/javascripthow-i-can-know-when-the-ie-文件下载提示弹出) – Piskvor 2010-06-01 14:17:50
检查链接的问题 - 您正在寻找的功能是相同的;再加上其中一个答案有一个有趣的解决方法。 – Piskvor 2010-06-01 14:19:43
好的,我读了上面的链接。有趣。我认为为会话cookie提供nonce密钥的解决方案可以工作。有没有人有我可以参考和研究的例子? – 2010-06-01 17:34:42