вот моя попытка, и она работает нормально.
в контроллере я добавил cookie
HttpCookie dwnloadResponse = new HttpCookie("dwnloadResponse");
dwnloadResponse["Complete"] = "true";
Response.Cookies.Add(dwnloadResponse);
и используя это имя файла cookie, я проверяю в javascript.
function GenerateReport() {
debugger;
ChangeButtonPatchView("Report", "buttonPatch", "DisabledGenerateRpt");
$('#Action').val('Report');
$('#btnPrintOrSaveReport').trigger('click');
_responseCheckTimer = setInterval(function () {
debugger;
if (document.cookie.indexOf('dwnloadResponse') !== -1) {
ChangeButtonPatchView("Report", "buttonPatch", "SCurvePercentageComplete");
var d = new Date();
d.setTime(d.getTime() + 0);
var expires = "expires=" + d.toUTCString();
document.cookie = "dwnloadResponse=" + ";" + expires + ";path=/";
clearTimeout(_responseCheckTimer);
}
},1000);
}
это проверит, что куки доступны в браузере. если cookie отсутствует, он вернет значение -1. Затем мы удалим куки и остановим таймер.