我有一个微调器图像,单击按钮显示。在click事件中,我生成一个令牌,并将window.location.href设置为生成要下载的文件的路径。生成的令牌在后端发送,当生成文件并开始下载时,会将此令牌与使用jquery cookie生成的cookie进行比较,并基于我提到的相同令牌。
在Chrome上,当下载开始时,我隐藏了微调器。它工作正常。但是在Safari上,当我单击按钮时,文件开始生成,但是微调器比下载开始提前1,2秒显示。注意:生成过程在10-15秒之间。
$('body').on('click', '#export-drops', function(e) {
$.removeCookie('token');
spinner.show();
e.preventDefault();
var token = new Date().getTime();
window.location.href = "{{ request.path }}?export=excel&token=" + token;
timer = window.setInterval(function() {
var cookieValue = $.cookie('token');
if (cookieValue == token) {
window.clearInterval(timer);
$.removeCookie('token');
spinner.hide();
}
}, 1000);
});
答案 0 :(得分:0)
请看第一篇文章@ madalin-ivascu