我有一个应用程序,其中一个页面大约需要 1 分钟才能加载。这是一个包含大量计算和其他内容的大页面。
我想显示一个进度指示器,直到服务器给我回复。有人对此有任何想法吗?
我有一个应用程序,其中一个页面大约需要 1 分钟才能加载。这是一个包含大量计算和其他内容的大页面。
我想显示一个进度指示器,直到服务器给我回复。有人对此有任何想法吗?
您需要显示加载器,ajax 加载内容,当 Ajax 请求完成时隐藏加载器并显示内容或简单地用新数据替换加载器。
一个简单的实现可能看起来像这样,并将 #content 的内容替换为 url /newcontent 返回的任何内容。
<div id="content">
<img src="/path/to/loader.gif" />
</div>
<script>
$("#content").load("/newcontent");
</script>
或者在您看起来实际上想要替换整个页面的情况下,将整个正文内容替换为:
$('body').load('newpage.html');
如果在服务器上创建页面的 HTML 需要很长时间,则无法显示带有加载消息/进度指示器的页面,然后显示内容。
我能想到的唯一方法是仅使用加载消息/进度指示器加载页面,然后进行 AJAX 调用以实际获取内容(这需要很长时间才能生成)。
在您的页面中添加一个 div 作为毯子,最初它将显示并阻止整个页面。并将 div 隐藏在 的 onload 处理程序中。这是一个普通的,可能不是一个好的解决方案。
您可以在上传时显示此代码。
$(document).ready(function() {
$.blockUI();
//load your editor here
setTimeout(function(){
$.unblockUI();
}, 10000);
});