Sweetalert: SwAl não desaparece na navegação traseira

Criado em 11 dez. 2014  ·  5Comentários  ·  Fonte: t4t5/sweetalert

Usando SwAl em um aplicativo Jquery Mobile rodando em um shell cordova. Ele funciona muito bem, mas para um pequeno problema.
O SwAl está ativado e o usuário pressiona o botão Voltar em seu aplicativo Android. Tudo no fundo dá um passo atrás, mas nenhum SwAl - SwAl simplesmente fica lá por algum motivo que não consigo descobrir.

Como faço para que o SwAl desapareça quando um usuário navegar de volta em seu telefone?

bug

Todos 5 comentários

Estou supondo aqui. Se você nos mostrar algum código, posso ser capaz de ajudar mais.

para que o sweetAlert se esconda, a página precisa ser atualizada. Em um Cordova ou JQuery, quando você pressiona voltar, a página não é atualizada, apenas muda de estado, então tente colocar um manipulador de eventos no botão voltar / mudança de página usando o registro de telefone e ocultar alerta doce.

Eu encontrei uma solução alternativa para isso. teve que fazer algumas modificações na biblioteca Swal também.
no meu código, estou verificando a navegação traseira e também se o canal está aberto ou não.
em caso afirmativo, eu apenas o fecho e evito a navegação padrão também.

$ (document) .on ("pagebeforechange", function (e, ob) {// para impedir a navegação de volta
if (ob.options.direction == "back" && swal.isOpen ()) {
swal.cancelAlert (); // feche o swal
e.preventDefault (); // impede nav de volta
history.go (1); // evitar mudança de hash
// retorna falso;
}
})

// Fecha / cancela qualquer alerta doce aberto

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

// Verifique se o SWAL está aberto ou não.

window.swal.isOpen = function () {
var modal = getModal ();
if (hasClass (modal, "showSweetAlert")) {
return true;
} else if (hasClass (modal, "hideSweetAlert")) {
retorna falso;
}senão{
retorna falso;
}
};

Você pode verificar o código de referência aqui - https://github.com/t4t5/sweetalert/pull/236

Como diz a solicitação pull, basta usar swal.close()

apenas use este script, está funcionando para mim:

cabeçalho ("Cache-Control: no-store, no-cache, must-revalidate, max-age = 0");
cabeçalho ("Expira em: Sáb, 26 de julho de 1997 05:00:00 GMT");

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Lusitaniae picture Lusitaniae  ·  4Comentários

yrshaikh picture yrshaikh  ·  4Comentários

fracz picture fracz  ·  4Comentários

xgqfrms-GitHub picture xgqfrms-GitHub  ·  4Comentários

rafatux picture rafatux  ·  5Comentários