Sweetalert: SwAl не исчезает при обратной навигации

Созданный на 11 дек. 2014  ·  5Комментарии  ·  Источник: t4t5/sweetalert

Использование SwAl в приложении JQuery Mobile, работающем в оболочке Cordova. Он отлично работает, но для одной небольшой проблемы.
SwAl запущен, и пользователь нажимает кнопку «Назад» в своем приложении для Android. Все в фоновом режиме идет на шаг назад, но SwAl отсутствует - SwAl просто остается там по какой-то причине, которую я не могу понять.

Как мне заставить SwAl исчезнуть, когда пользователь вернется на свой телефон?

Все 5 Комментарий

Я здесь догадываюсь. Если вы покажете нам код, я смогу помочь.

чтобы sweetAlert скрылся, необходимо обновить страницу. В Cordova или JQuery, когда вы нажимаете назад, страница не обновляется, она просто меняет состояние, поэтому попробуйте поместить обработчик событий на кнопку возврата / изменения страницы с помощью телефонного разговора и скрыть сладкое предупреждение.

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

$ (document) .on ("pagebeforechange", function (e, ob) {// чтобы предотвратить обратную навигацию
if (ob.options.direction == "назад" && swal.isOpen ()) {
swal.cancelAlert (); // закрываем ласточку
e.preventDefault (); // предотвращаем обратную навигацию
history.go (1); // избегаем изменения хеша
// вернуть ложь;
}
})

// Закрытие / Отмена любых открытых сладких предупреждений

window.swal.cancelAlert = function () {
closeModal ();
};

// Проверяем, открыт ли SWAL.

window.swal.isOpen = function () {
var modal = getModal ();
if (hasClass (модальный, "showSweetAlert")) {
вернуть истину;
} else if (hasClass (modal, "hideSweetAlert")) {
вернуть ложь;
}еще{
вернуть ложь;
}
};

Вы можете проверить ссылочный код здесь - https://github.com/t4t5/sweetalert/pull/236

Как сказано в запросе на перенос, просто используйте swal.close()

просто используйте этот скрипт, он работает для меня:

заголовок ("Cache-Control: no-store, no-cache, must-revalidate, max-age = 0");
заголовок ("Истекает: Сб, 26 июля 1997 г., 05:00:00 по Гринвичу");

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

sastrahost picture sastrahost  ·  5Комментарии

mouro001 picture mouro001  ·  3Комментарии

waldyrious picture waldyrious  ·  5Комментарии

blackrosezy picture blackrosezy  ·  6Комментарии

Lusitaniae picture Lusitaniae  ·  4Комментарии