راکت

باگ sweet alert

8 پاسخ

سلام
من تو پروژم از sweet alert استفاده کردم و به یک باگ بدجوری برخورد کردم اونم اینه که یه کاری انجام میدیم و صفحه بعد alert نمایش میده ولی وقتی توی مرورگر به عقب میخایم بیایم دوباره همون alert بهمون نمایش میده ترفندی سراغ دارید که این باگو بپوشونه؟

ثبت پرسش جدید

پاسخ‌ها

8
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

در سمت لاراول به چه شکلی این sweet alert رو مقدار دهی میکنید تا نمایش بده

امین بیطرف
امین بیطرف
@aminbitaraf

همونطوری که توی مستنداتش اومده بود

alert()->success('پیام مورد نظر با موفقیت پاک شد')->autoclose(3500);
return back();

البته توی خود سایت راکت هم همینطوره مثل اینکه فقط اینطوریه که اینجا وقتی یه گفتوگو ایجاد میکنیم و alert بهمون نمایش میده و اگ بریم یه پیج دیگ و برگردیم دوباره نمایش میده با این تفاوت که اینجا redirect شده ولی من back دادم
@hesammousavi

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

حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

این به این خاطره که در صفحه شما alert کدش قرار میگیره حالا شما میرید وارد صفحه دیگه میشید و دوباره به صفحه قبل بر میگردید خوب صفحه جدیدی لود نمیکنه در این حالت .
در اصل همون صفحه با کدی که از قبل برای alert بود رو نمایش میده .

امین بیطرف
امین بیطرف
@aminbitaraf

خب یه سوال دارم برای اینکه بعد از اینکه اون alert مورد نظر نمایش داده شد بعد از بسته شدن ,صفحه به صورت خودکار رفرش بشه باید چه کد جاوااسکریپتی اضافه کنم؟
@hesammousavi

حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

document.location.replace(document.location.href)

میتونید با جاوااسکریپت از کد بالا هم استفاده کنید
اما اینکه رفرش بشه به نظرم درست نیست و بهتر اینکه دنبال راهی باشید بعد از اینکه alert اجرا شد کدش از صفحه حذف بشه

روح اله
روح اله
@roohollah.azari

تخصص: برنامه نویس

سلام تنها back نیست که مشکل. وقتی شما برای نمایش نتایج جستجو هم از این پکیج استفاده میکنید هم این مشکل رخ میده مثلا یک کلمه ای جستجو میکنید به ویو یه toast یا alert فرستاده میشه از طرف کنترلر. براتون پیام میده "10 تا نتیجه یافت شد" بعنوان مثال.
شما که صفحه بندی کردید نتایج رو وقتی شما میری صفحه 2 یا 3 یا هرچی بغیر از صفحه جاری دوباره این پیام براتون نمایش داده میشه ولی خب یکم خوب درنمیاد. و واقعا هم هیچ جای راهنمایی نکردن چطوری سشن sweetalert رو از صفحه پاک کنیم...لطفا کدش رو بگید مرسی

Matio
Matio
@matio

تخصص: برنامه نویس

سلام وقت بخیر. بالاخره راهی پیدا کردین برای این باگ؟ ممنون میشم به اشتراک بذارین.
با تشکر
@aminbitaraf

روح اله
روح اله
@roohollah.azari

تخصص: برنامه نویس

@matio
@aminbitaraf
با سلام منم قبلا این مشکل رو داشتم
این کد رو در صفحه مستر قرار میدید

  @if(session()->has('toast_success'))
  <script>
      @include('sweetalert::alert') ;
  </script>
@endif

و این کد رو در هر یک از صفحاتی که وصل میشن به مستر

  @if (session('status'))
                        <div class="alert alert-success" role="alert">
                            {{ session('status') }}
                        </div>
                    @endif

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

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