0

在我的项目中,我正在创建一个 excel 文件并提供用户下载它

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

代码。我正在通过 $(location).attr('href','###'); 触发文件生成代码 JS中的代码,因此它会调用文件导出页面,并在生成文件下载窗口后出现。为了显示正在进行的工作,我在调用 $(location) 之前单击导出按钮时显示了加载程序窗口,并且为了关闭此窗口,我使用了 Jquery cookie 库(实际检查文件生成何时完成并出现下载窗口)为此我已经提到

检测浏览器何时接收文件下载

Url 这种技术解决了我的问题,我可以检查进度何时完成并删除加载程序窗口。

现在我还想显示文件完成的进度。IE。我的 excel 文件生成了大约 500 行。所以生成需要时间,我尝试在 cookie 中写入进度,例如写入 100 行后 25%,写入 200 行后 50%,并尝试在 JS 代码中检查 cookie 值

fileProgress = window.setInterval(function () {
    var cookieValue = $.cookie('fileProgressToken');
    alert(cookieValue)
}, 1000);

但它不起作用,我发现 php 在页面进度完成后设置 cookie 值(即当所有文件生成过程完成时)并将值设置为 100 并且我无法在 1 秒后检查进度。

我该怎么做才能实现这一目标,是否有可能或任何简单的替代方式

4

0 回答 0