jp gangwar Ответов: 1

Я пытаюсь подтвердить сообщение после закрытия вкладки и модель приходит после закрытия сообщения подтверждения


$(документ).готово(функция(){
var myEvent = window. attachEvent | / window. addEventListener;
var chkevent = window. attachEvent ? ": 'beforeunload'; / / / сделать IE7, IE8 компилируемыми

myEvent(chkevent, function (e) {//For >=IE7, Chrome, Firefox
var confirmationMessage = $('#myModal'). modal ('show'); / / пробел
(e | / window. event). returnValue = confirmationMessage;
вернуться confirmationMessage;
});
});

Что я уже пробовал:

я хочу сначала подтвердить, и когда я нажму остаться на странице, то придет модель, но она не работает должным образом в mozilla, что происходит, оба приходят в одно и то же время модель и подтверждение в mozilla, и она работает в chrome plz помогите мне..

Kornfeld Eliyahu Peter

Вы уверены в своем примере кода?..Проверьте еще раз источник, из которого вы скопировали...
Ваша проблема мне не ясна...Вы увидите подтверждающее сообщение (любое) в Firefox?

jp gangwar

пришло подтверждающее сообщение, но проблема в том, что модель окна и сообщение подтверждения по умолчанию приходят в одно и то же время, если я закрыл вкладку

1 Ответов

Рейтинг:
5

Richard Deeming

Событие "beforeunload" очень ограничительно. В IE / Edge все, что вы можете сделать, это отобразить пользовательское сообщение, вернув его из обработчика событий. В Firefox и Chrome вы даже не можете этого сделать - любое пользовательское сообщение, которое вы вернете, будет проигнорировано, и браузер отобразит свое стандартное сообщение. "данные могут быть потеряны" вместо этого сообщение.

Вы, конечно, не можете открывать окна или отображать модальные диалоги. Если бы вы могли, каждый вредоносный сайт в Интернете сделал бы это, чтобы помешать вам покинуть страницу.

Придерживайтесь возврата простой строки из вашего обработчика событий. Браузеры, которые позволяют это, будут отображать ваше сообщение, а те, которые этого не делают, вместо этого будут отображать стандартное сообщение.


jp gangwar

так что же делать ?

Richard Deeming

Как я уже сказал, Все, что вы можете сделать с этим событием, - это вернуть строку с сообщением, которое вы хотите отобразить. Браузеры, которые поддерживают его, будут отображать это сообщение, а браузеры, которые этого не делают, вместо этого будут отображать стандартное сообщение.

Если вам нужно сделать что - то более сложное, то вам нужно будет перехватить и отменить любое событие, которое приведет к переходу со страницы-переходу по ссылкам, отправке форм и т. д. Это большая работа,и она все равно не будет надежной.