我想阻止页面,直到下载完成,然后解除阻止。我写了这段代码,但在 1 秒后它解除了对 UI 的阻止并且下载仍未完成。
<script type="text/javascript">
var fileDownloadCheckTimer;
function blockUIForDownload() {
if (IsCookiesEnable()) {
var token = new Date().getTime(); //use the current timestamp as the token value
$.blockUI({ message: 'لطفا منتظر بمانید تا فایل مورد نظر شما دانلود شود', fadeIn: 0 });
fileDownloadCheckTimer = window.setInterval(function() {
var cookieValue = $.cookie('fileDownloadToken');
// alert(cookieValue);
if (cookieValue != null)
finishDownload();
}, 1000);
}
}
function IsCookiesEnable() {
var cookieEnabled = (navigator.cookieEnabled) ? true : false;
if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
document.cookie = "testcookie";
cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
}
return (cookieEnabled);
}
function finishDownload() {
window.clearInterval(fileDownloadCheckTimer);
$.cookie('fileDownloadToken', null);
$.unblockUI();
}
我使用 asp.net、C# 和 blockUi 插件。