Sweetalert: لا يختفي SwAl عند التنقل الخلفي

تم إنشاؤها على ١١ ديسمبر ٢٠١٤  ·  5تعليقات  ·  مصدر: t4t5/sweetalert

استخدام SwAl في تطبيق Jquery Mobile يعمل في غلاف كوردوفا. إنه يعمل بشكل رائع ولكن لمشكلة واحدة صغيرة.
SwAl يعمل ويضغط المستخدم على زر الرجوع في تطبيق Android الخاص به. كل شيء في الخلفية يذهب خطوة واحدة إلى الوراء ولكن لا SwAl - SwAl يبقى هناك لسبب ما لا أستطيع اكتشافه.

كيف يمكنني إخفاء SwAl عندما ينتقل المستخدم مرة أخرى على هاتفه؟

bug

ال 5 كومينتر

ايم التخمين هنا. إذا أظهرت لنا بعض التعليمات البرمجية ، فقد أتمكن من الحصول على المزيد.

لإخفاء sweetAlert ، يجب تحديث الصفحة. في Cordova أو JQuery عند الضغط على "رجوع" ، لا يتم تحديث الصفحة ، إنها تغير حالتها فقط ، لذا حاول وضع معالج حدث على الزر الخلفي / تغيير الصفحة باستخدام phonegap وإخفاء التنبيه الجميل.

لقد وجدت حلاً لهذا. اضطررت إلى إجراء بعض التعديلات على مكتبة swal أيضًا.
في الكود الخاص بي ، أتحقق من التنقل الخلفي وأيضًا ما إذا كان swal مفتوحًا أم لا.
إذا كان الأمر كذلك ، فأنا أغلقه فقط وأمنع التنقل الافتراضي أيضًا.

$ (document) .on ("pagebeforechange" ، الوظيفة (e ، ob) {// لمنع التنقل للخلف
إذا (ob.options.direction == "رجوع" && swal.isOpen ()) {
swal.cancelAlert () ، // أغلق الطائر
e.preventDefault () ؛ // منع التنقل الخلفي
history.go (1) ، // تجنب تغيير التجزئة
// عودة كاذبة؛
}
})

// يغلق / إلغاء أي تنبيهات حلوة مفتوحة

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

// تحقق مما إذا كانت SWAL مفتوحة أم لا.

window.swal.isOpen = الوظيفة () {
var modal = getModal () ؛
إذا (hasClass (modal، "showSweetAlert")) {
العودة صحيح
} else if (hasClass (modal، "hideSweetAlert")) {
عودة كاذبة؛
}آخر{
عودة كاذبة؛
}
} ؛

يمكنك التحقق من الرمز المرجعي هنا - https://github.com/t4t5/sweetalert/pull/236

كما يقول طلب السحب ، ما عليك سوى استخدام swal.close()

فقط استخدم هذا البرنامج النصي ، فهو يعمل بالنسبة لي:

header ("Cache-Control: no-store، no-cache، must-revalidate، max-age = 0")؛
header ("Expires: Sat، 26 Jul 1997 05:00:00 GMT")؛

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

blackrosezy picture blackrosezy  ·  6تعليقات

AlexV525 picture AlexV525  ·  4تعليقات

sastrahost picture sastrahost  ·  5تعليقات

mouro001 picture mouro001  ·  3تعليقات

krishnamraju picture krishnamraju  ·  3تعليقات