Моя веб-страница использует bootstrap и jquery, и во время довольно продолжительной загрузки страницы, которая читает некоторые переменные сеанса PHP с помощью JSON_ENCODE, нажатие клавиши ESCAPE, кажется, останавливает процесс, прерывает чтение и приводит к сбою загрузки страницы.
Это происходит как в Chrome, так и в Firefox.
Что может быть причиной этого, и есть ли способ предотвратить это?
Спасибо.
РЕДАКТИРОВАТЬ * (добавил ignore_user_abort но ESCAPE все равно прерывается)
<?php ignore_user_abort(true); ?>
var db = <?php echo (isset($_SESSION["data"])) ?
json_encode($_SESSION["data"], JSON_PRETTY_PRINT) : 0 ; ?>;
if (!db) db = {};
Я получил решение для управления клавишами «F5, Esc, BackSpace (BS)» с помощью следующего кода.
Мой код Java Script будет,
document.attachEvent("onkeydown", win_onkeydown_handler);
function win_onkeydown_handler() {
switch (event.keyCode) {
case 116 : // 'F5'
event.returnValue = false;
event.keyCode = 0;
break;
case 27: // 'Esc'
event.returnValue = false;
event.keyCode = 0;
break;
case 08: // 'BackSpace'
if (event.srcElement.tagName == "INPUT"|| event.srcElement.tagName == "TEXTAREA") {
} else {
event.returnValue = false;
event.keyCode = 0;
}
break;
}
}
Спасибо всем, кто поддержал меня в этом и за ваши предложения.
https://stackoverflow.com/a/14603299/8939708
Проблема в том, что ключ ESC останавливает браузер от загрузки страницы. Следовательно, страница падает, я не знаю, поможет ли вам этот ответ или нет. Если это не стесняйтесь комментировать, и я удалю его. Надеюсь, я помог.
Других решений пока нет …