Sweetalert: SwAl tidak menghilang di navigasi belakang

Dibuat pada 11 Des 2014  ·  5Komentar  ·  Sumber: t4t5/sweetalert

Menggunakan SwAl di aplikasi Jquery Mobile yang berjalan di shell cordova. Ini berfungsi dengan baik tetapi untuk satu masalah kecil.
SwAl sudah aktif dan pengguna menekan tombol kembali di aplikasi Android-nya. Segala sesuatu di latar belakang mundur satu langkah tetapi tidak ada SwAl - SwAl hanya tetap di sana karena beberapa alasan saya tidak dapat mengetahuinya.

Bagaimana cara agar SwAl menghilang ketika pengguna menavigasi kembali di ponselnya?

bug

Semua 5 komentar

Saya menebak di sini. Jika Anda menunjukkan kepada kami beberapa kode, saya mungkin bisa membantu lebih banyak.

agar sweetAlert disembunyikan, halaman perlu disegarkan. Di Cordova atau JQuery saat Anda menekan kembali, halaman tidak disegarkan, itu hanya mengubah status, jadi coba letakkan pengendali acara di tombol kembali/perubahan halaman menggunakan phonegap dan sembunyikan peringatan manis.

Saya menemukan solusi untuk ini. harus membuat beberapa modifikasi ke perpustakaan swal juga.
dalam kode saya, saya memeriksa navigasi belakang dan juga apakah swal terbuka atau tidak.
jika demikian, saya hanya menutupnya dan mencegah navigasi default juga.

$(document).on("pagebeforechange", function(e, ob) { //untuk mencegah navigasi mundur
if(ob.options.direction=="back" && swal.isOpen()){
swal.cancelAlert(); //tutup swal
e.preventDefault(); //mencegah navigasi balik
history.go(1); //hindari perubahan hash
// kembalikan salah;
}
})

// Menutup/Membatalkan semua lansiran manis yang terbuka

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

//Periksa apakah SWAL terbuka atau tidak.

window.swal.isOpen = function() {
var modal= getModal();
if(hasClass(modal,"showSweetAlert")){
kembali benar;
}else if(hasClass(modal,"hideSweetAlert")){
kembali salah;
}lain{
kembali salah;
}
};

Anda dapat memeriksa kode referensi di sini - https://github.com/t4t5/sweetalert/pull/236

Seperti yang dikatakan permintaan tarik, gunakan saja swal.close()

cukup gunakan skrip ini, ini berfungsi untuk saya:

header("Kontrol Cache: tanpa penyimpanan, tanpa cache, harus divalidasi ulang, usia maksimal = 0");
header("Kedaluwarsa: Sabtu, 26 Juli 1997 05:00:00 GMT");

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

yrshaikh picture yrshaikh  ·  4Komentar

krishnamraju picture krishnamraju  ·  3Komentar

vmitchell85 picture vmitchell85  ·  6Komentar

jamieson99 picture jamieson99  ·  3Komentar

mouro001 picture mouro001  ·  3Komentar