我有一个页面,其中包含一个长期运行的Ajax请求加载它的一个元素(一个第三方网格组件)。这个Ajax请求延迟了文档上ready事件的触发。我使用jQuery UI插件(按钮、dilog)。我过去常常将它们应用于$(.ready)文档处理程序中的元素,但现在在这种情况下,直到Ajax流程完成,我看到许多纯的、未格式化的丑陋元素。请求可能需要4-5秒,所以这是相当烦人的。对于这种情况,什么可能是一个好的解决方案?
我可能会隐藏相应的元素,直到请求完成,然后显示它们,但如果有更通用的技术,我会更喜欢。
此外,不幸的是,我对这个组件没有太多的控制,所以我不能控制它何时以及如何加载其数据。
编辑:延迟就绪事件的请求当然不是Ajax请求,而是组件的MVC局部视图的长时间处理。但是这个问题仍然存在,因为页面的其他部分(在这个区域的“上方”)加载得更早。
编辑:我正在使用ASP.NET MVC3,可能一些输出缓冲技术会有所帮助,它可以防止在整个请求被处理之前刷新任何内容(有点像ob_XXX中的PHP函数)。
发布于 2013-02-08 04:18:53
直到我在服务器端找到一种更合适的技术,我才给这些元素添加了一个特殊的CSS类,它的名字是“隐藏到就绪”,它定义了"display: none“。在document ready事件中,我在应用插件之前执行了一行jQuery来显示它们。感谢您的回复。
发布于 2013-02-08 03:40:08
在dom准备就绪并创建UI之后,如何启动ajax请求呢?
https://stackoverflow.com/questions/14759518
复制相似问题