Как заставить работать javascript только при загрузке следующей страницы?
Есть сайт на Django. Пользователь заполняет массивную многостраничную анкету и прикрепляет файлы. После этого нажимает кнопку далее или отправить. Затем вся анкета сохраняется в базе, файлы отправляются на облако и т.д. После нажатия кнопки 'далее' или 'отправить' с помощью javascript я меняю кнопку 'далее/отправить' на кнопку 'загрузка' с мигающим индикатором и делаю ее неактивной, чтобы пользователь не терялся в ожидании выгрузки данных. Также есть кнопка 'назад' после нажатия которой выполняется onclick="history.back();
.
Вся проблема заключается в том, что в Safari после возврата на предыдущую страницу анкеты остается мигающая кнопка загрузки и на нее невозможно нажать. То есть Safari при возврате назад не перезагружает страницу. В остальных браузерах такой проблемы нет.
Что мне делать в данном случае? Я пробовал перезагружать страницу в обработчике кнопки 'назад', но setTimeOut()
не работает у меня должным образом.
Пробовал отключать кэширование страниц и это тоже не сработало.
Можно как-то заставить работать код js только в момент загрузки следующей страницы?
Обработчик кнопки:
$('button[type=submit]').click(function(){
$('form').submit();
$(this).attr('disabled', 'disabled');
$(this).fadeOut('1000', function(){
$('#loading').removeAttr('hidden');
})
})
Кнопки в шаблоне:
<button class="btn button" type="button" onclick="history.back();">Назад</button>
<button class="btn button" type="submit">Далее</button>
<button hidden id="loading" class="btn button" type="button" disabled>
<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
Загрузка...
</button>