首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ColdFusion中加载具有长cfloop的页面的gif

在ColdFusion中加载具有长cfloop的页面的gif
EN

Stack Overflow用户
提问于 2014-01-02 14:28:11
回答 4查看 714关注 0票数 0

我有一个ColdFusion页面,它循环在一个(可能)长的查询上,这个查询可能有几百个条目要循环和显示。当您第一次访问该页面时,可能会有3-10秒的延迟来加载该页面。最近我在Google上没什么好运气,也没有找到一个关于如何显示加载gif的很好的教程。有人能帮帮我吗?据我所知,ajax通常用于此,但如果可能的话,我想避开它,使用jQuery解决方案。提前感谢!

代码语言:javascript
运行
复制
<cfdirectory directory="(dir name)" name="dirQuery" type="file" filter="*.pdf" action="list">

...html table start goes here...

<cfloop query="dirQuery">

...items go here...

</cfloop>

这将只为内部用户,所以它不必是漂亮的。我只是不想让用户在他们认为页面没有加载时感到高兴。

EN

回答 4

Stack Overflow用户

发布于 2014-01-02 14:53:00

我不打算为此提供代码,因为有100万零1篇教程介绍了如何使用jquery实现ajax功能,但是作为6的入门教程,您需要查看jQuery ajax函数:

类似于:

代码语言:javascript
运行
复制
$.ajax({
    url: data.cfm
}).done(function(data){
    alert(data);
});

更多信息可在这里获得:http://api.jquery.com/jQuery.ajax/

您可能希望将已经拥有的代码移动到单独的cfm中,因此您最终可能会得到以下结果:

index.cfm ( jQuery调用代码所在)和;data.cfm (当前代码所在)。

票数 3
EN

Stack Overflow用户

发布于 2014-01-02 17:06:06

而不是使用<cfdirectory>获取一个目录中的所有文件和文件夹,然后使用查询的查询来提取仅为PDF的文件,您可能会更快地使用of目录上的filter属性只获取PDF文件,并避免随后执行QoQ操作。

代码语言:javascript
运行
复制
<cfdirectory directory="(dir name)" name="dirQuery" filter="*.pdf" type="file">

<cfloop query="dirQuery">...</cfloop>
票数 1
EN

Stack Overflow用户

发布于 2014-01-02 19:21:04

基于您的问题,您所要做的就是在请求开始时向浏览器发送一个“加载”标记,这样用户就可以在其他请求运行并生成其余标记时查看?

你想的只是一个“我在工作”的旋转球,还是显示运行缓慢的代码的实际进展的东西?你对此不太清楚。

如果它只是一个“我很忙”的图像,那么只需输出图像标记,并刷新缓冲区:

代码语言:javascript
运行
复制
<img src="whatever.gif">
<cfflush>

然后,该批将立即发送到浏览器,而其余的请求继续。

如果您想要提供真正的进度遥测,那么您将需要一个更复杂的解决方案,让浏览器轮询服务器(通过AJAX)以获得进程中的某个位置的指示。我相信JQuery等人有一个插件来做这件事。Google进度指示器“(类似于)。

CF提供了一个标记,但我从不提倡使用服务器端代码来生成客户端功能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20885122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档