راکت

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

1 پاسخ

سلام دوستان
من بعد از اجرای متد در کنترلر یک پیام رو به کاربر نشون میدم که میخوام وقتی دکمه بک رو میزنه دوباره نشون نده از 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 قرار دادم

ممنون

مهدی
مهدی
@mahdidv
ثبت پرسش جدید

پاسخ‌ها

1
woz
woz
@wozniak

تخصص: fan of open source world

سلام
میتونید با استفاده از پیاده سازی در جاوااسکریپت و استفاده از آبجکت 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 دارید آلرت هاتون رو اجرا می کنید

شاید پاسخ شما همین‌جا باشد

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

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