Основываясь на примере Элмера, я подготовил собственное решение. После того, как элементы щелкнули с определенным классом download , он позволяет отображать на экране пользовательские сообщения. Я использовал триггер focus , чтобы скрыть сообщение.
JavaScript
$(function(){$('.download').click(function() { ShowDownloadMessage(); }); })
function ShowDownloadMessage()
{
$('#message-text').text('your report is creating, please wait...');
$('#message').show();
window.addEventListener('focus', HideDownloadMessage, false);
}
function HideDownloadMessage(){
window.removeEventListener('focus', HideDownloadMessage, false);
$('#message').hide();
}
HTML
<div id="message" style="display: none">
<div id="message-screen-mask" class="ui-widget-overlay ui-front"></div>
<div id="message-text" class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-front ui-draggable ui-resizable waitmessage">please wait...</div>
</div>
Теперь вы должны реализовать любой элемент для загрузки:
<a class="download" href="file://www.ocelot.com.pl/prepare-report">Download report</a>
или
<input class="download" type="submit" value="Download" name="actionType">
После каждого нажатия download вы увидите сообщение, которое создает ваш отчет, подождите. ..