مهدی
2 سال پیش توسط مهدی مطرح شد
1 پاسخ

جلوگیری از نمایش مجدد sweet alert هنگام فشردن دکمه Back در مرورگر

سلام دوستان
من بعد از اجرای متد در کنترلر یک پیام رو به کاربر نشون میدم که میخوام وقتی دکمه بک رو میزنه دوباره نشون نده از forget استفاده کردم برای حذف session اما به درستی کار نکرد منم از این روش استفاده کردم آیا استفاده از ابن روش مشکلی دارده؟ حتی میخوام به عنوان Middleware اجراش بکنم

 header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
 header("Cache-Control: post-check=0, pre-check=0", false);
 header("Pragma: no-cache");`

این کد رو اول فایل blade قرار دادم

ممنون


ثبت پرسش جدید
woz
تخصص : fan of open source world
@wozniak 2 سال پیش آپدیت شد
0

سلام
میتونید با استفاده از پیاده سازی در جاوااسکریپت و استفاده از آبجکت performance این مشکل رو حل کنید ، فرض کنید کلاسی که برای html مربوط به نمایش alert خود قرار دادید show-alerts-actor باشد :

        <div class="show-alerts-actor" data-title="{{$message['title']}}" data-text="{{$message['text']}}" data-icon="{{$message['icon']}}"></div>
window.Swal = require("sweetalert2");

 if ($(".show-alerts-actor").length > 0 )
    {

        if ( performance && performance.navigation && performance.navigation.type ){
            if(performance.navigation.type !== 2) {
                $(".show-alerts-actor").each((index, item)=>{
                    Swal.fire({
           html: $(item).data('text'),
                        icon:$(item).data('icon'),
                        confirmButtonText: "بستن",
                        timerProgressBar: true,
                    })
                });
            }
        }else {

            $(".show-alerts-actor").each((index, item)=>{
                Swal.fire({
           html: $(item).data('text'),
                        icon:$(item).data('icon'),
                        confirmButtonText: "بستن",
                        timerProgressBar: true,
                })
            });
        }

    }

توضیح ساده اگه بخوام بدم : قسمت performance.navigation.type !== 2 چک میکنه ببینه که کاربر بک نزده باشه ، اگر زده بود swal رو دوباره اجرا نمیکنه .
توضیح اینکه در این کد در نظر گرفته که شما به وسیله ی Swal دارید آلرت هاتون رو اجرا می کنید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام