gpt4 book ai didi

asp.net - 返返回告数据后如何停止动画 GIF?

转载 作者:行者123 更新时间:2023-12-01 05:44:53 25 4
gpt4 key购买 nike

我在任何地方都找不到答案,这些细节让我发疯。我的任务是更新较旧的应用程序,仅将 javascript 用于客户端 UI 内容。过去使用 PDF 模板生成报告,手动循环遍历数据集,基本上是填写表格,然后显示报告。这已经使服务器崩溃了很多次。

我已经更新了应用程序以使用报告服务器,以帮助使报告生成负载脱机。一切正常,除了报告返回后动画 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();

其中 data 是报表服务器返回的字节流。

唯一不起作用的是,即使在提交报告并且用户单击打开/保存/取消对话框后,动画 GIF 仍将继续播放。我怀疑是 Response.End();调用,但即使取消线路并让服务器继续运行也不能缓解此问题。在收到报告数据后,页面似乎没有执行任何回发,并且 .html 源显然显示了 GIF。如果我手动回发,我会丢失打开/保存/取消对话框,并且用户没有机会显示内容。

我在这里不知所措,我已经在这里呆了几个小时,任何帮助表示赞赏。
谢谢是提前。

最佳答案

我假设您已经考虑过拥有另一个没有动画的相同 GIF 版本的想法,并在您希望动画停止时交换它?

考虑到您已有的代码,只需将 .src 设置为非动画版本即可。在这种情况下,您还可以获得完成状态等的好处。

此外,如果您正在调用 set timeout,最好将函数引用而不是代码作为字符串传递。这样你就不需要浏览器引擎来在运行时评估代码,这会更慢更难调试,并获得更好的开发支持..

前任:
setTimeout(animateGif, 100);

函数 animateGif() {
document.images["animate"].src="images/loading.gif"
}
函数停止动画(){
document.images["animate"].src="images/loaded.gif"
}

关于asp.net - 返返回告数据后如何停止动画 GIF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2950401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com