Прежде всего, позвольте мне сказать, что, "" Я не хочу "" прекратить перезагрузки страница! BUT controll the beforeunload сообщение!
Так что, если вы позволите, я попытаюсь объяснить:
- A) Я просто хочу сделать РЕШАТЬ в этом случае я показываю (или нет) «предупреждение выхода сообщение»
Насколько мне известно, «невозможно» контролировать событие UnbeforeUnload, я делаю некоторые тесты, и в зависимости от браузера это возможно, но это «рабочий перегрев»
Так что я знаю это :
- 1) прослушивание клавиатуры очень просто «выбрать событие», а то, что я хочу, показывать в «предупреждающем мясе» для каждого.
- 2) Прослушивание истории Я могу выбрать, что происходит на «Навигаторе Назад кнопка», dand сделать то же самое.
- 3) Код ниже штрафа в темэ работает ...
И управлять клавиатурой, у меня есть, очень простой код в JS:
document.onkeydown = KeyCheck;
function KeyCheck(e) {
var key = (window.event) ? event.keyCode : e.keyCode;
if(key==116) {flag_beforeunload=false;}
if(key==8) {flag_beforeunload=false;}
if (e.keyCode == 82 && e.ctrlKey) {flag_beforeunload=false;}
document.getElementById("container").innerHTML = "key = "+key + " - " + flag_beforeunload;
}
window.onbeforeunload = function(e){
var msg = 'You are sure to exit?';
e = e || window.event;
if(e)
if (flag_beforeunload == true) {
return msg;
}
}
Ниже, here (dotnsf site) где я получите код для управления кнопкой «назад» браузера и «... я могу даже отключить.
но ан Jquery, следуя мой код, но в JS:
window.onpopstate = function(event) {
window.history.back(-1)
if(!event.state){
//the to lines below, disable the back button
// history.pushState("nohb", null, "");
// return;
// the following line iIcan use to control the envent, in UnBeforeUnload
// flag_beforeunload=false;
}
}
}
И, наконец, это мой вопрос: я apreciate больше помощи, и решения для других навигаторов, чем Chrome!
Большое спасибо!
Что такое прецедент? Единственные действительно действительные случаи использования, которые приходят на ум для «onbeforeunload», одинаково применимы к перезагрузке той же страницы, что и в другом месте. –
Вы не должны знать, к какой странице вы идете. Так что это невозможно. – Tim
Спасибо за внимание! Так вот, вот и все! ** перезагрузка ** «та же самая страница» (кнопка F5 или перезагрузка) ИЛИ кнопка возврата назад (этот последний запрос является запросом клиента) –