如何在javaScript中生成PDF后停止加载效果

How to stop loading effect after generating PDF in javaScript?

本文关键字:加载 PDF javaScript      更新时间:2023-09-26

生成PDF或Excel工作表后,如何停止加载消息?

我的代码如下:

第一道工序:

$(document).ready(function(){
   $('#page_effect').fadeIn(2000);
    var check = $('#loadcheck').val();
    alert(check);
    if(check == "true"){
     hide Waiting Page()
   }
});

第二道工序:

 setTimeout(function(){
  window.location.href = window.location.href;
 },36000) 

第一道工序:

在生成PDF之前立即取消隐藏加载效果

第二道工序:

花费了36000毫秒,但我的要求是,我想显示加载消息,直到我的jasper报表或Excel表加载完毕,加载数据后,我想停止在JSP页面中显示加载。

如果您想在生成报表后将报表流式传输到JSP中的一个包含DOM元素(此处没有文件下载),您可以轻松地使用一个jQuery处理程序,它将在单击按钮或链接时为您执行任务。

$("#showDataButton").on('click', function(e) {
  $.ajax({
    beforeSend: function(options) {
      $("#waitingIndicator").show();        
    },
    success: function(data) {
      $("#waitingIndicator").hide();
    }
  });
});

如果你的问题表明你想要通过PDF下载内容,那么这就有点棘手了。

因为当文件开始从服务器下载时,浏览器不会触发事件,所以我所知道的唯一途径是使用IFRAME。

这个想法是通过javascript将表单发布到IFRAME,并让IFRAME为您执行下载流。这允许你的主窗口继续做它的事情。当您发布表单时,您会启动一个计时器,每隔几毫秒检查一次下载的IFRAME的内容。

当您的IFRAME下载文件时,应该从服务器向它发送一个COOKIE,指示下载成功或失败。来自主窗口的计时器回调使用它来确定何时隐藏等待消息或通知您一些错误。

有一些jQuery插件可以进行这种处理,因此您可能需要调查它们是否适用于您的案例。