نامرئی شدن آیکون ریکپچا بعد از رفتن به صفحه دیگر

سوال شده توسط: M. Ahmadi

تاریخ ثبت: ۱۴۰۰/۰۹/۰۷

بازدید: 1,181

پاسخ: 8

تگ: Laravel


سلام استاد وقت بخیر. با روشی که شما آموزش دادید ریکپچا را پیاده سازی کردم. اولین صفحه که لود می شود ریکپچا ظاهر می شود ولی وقتی به صفحه دیگر می روم انگار حذف می شود. و باید صفحه را رفرش کنم که ببینم آیکون ریکپچا رو. این مسئله مشکل داره به نظرتون؟ با تشکر فراوان
پاسخ ها
user

قاسم بساکی

سلام دوست عزیزم ، باید همیشه اون تگ ریکپچا توی صفحه باشه . اگه نباشه یعنی توی اون صفحه ریکپچا فعال نیست. مراحل رو اگه درست انجام داده باشید نباید این مشکل پیش بیاد. اون اسکریپتها رو درست قرار دادید؟ اگه از چند تا لایوت استفاده می کنید ، باید اسکریپت ها رو توی همه لایوت ها قرار بدید

user

M. Ahmadi

استاد مراحل رو مثل شما رفتم. وقتی میرم به صفحه دیگه کدی که در قسمت head گذاشتیم هست ولی دیگه در قسمت body اثری از کد recpatcha برای نمایش ایکون نیست. ولی اگر صفحه رو رفرش کنم ظاهر میشه.

user

قاسم بساکی

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

user

M. Ahmadi

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

user

قاسم بساکی

ظاهرا با توربولینکز مشکل داره عزیزم.

چون یک بار اسکریپت فراخوانی میشه و توی صفحات دیگه ، چون اسکریپت اصلی توی لود اولیه بارگذاری میشه و در صفحات دیگه لود مجدد نمیشه و طبیعتا این پیش میاد.

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

    {!! htmlScriptTagJsApi([
        'callback_then' => 'callbackThen',
        'callback_catch' => 'callbackCatch'
    ]) !!}
user

M. Ahmadi

استاد ممنون از پیگیری شما. 

بله اگر در همه کامپوننت ها بذاریم درست میشه. پس اینطوری دیگه لازم نیست اسکریپت htmlScriptTagJsApi رو در layout بذاریم؟

user

قاسم بساکی

خواهش میکنم دوست من - بله درسته

user

M. Ahmadi

سلام وقت بخیر استاد. من دوباره به مشکل خوردم و در کنسول مرورگر خطاهایی مربوط به ریکپچا نمایش می داد. در نهایت دستور

{!! htmlScriptTagJsApi([]) !!}

که قرار بود در تگ  head مربوط به layout قرار بدیم رو به body و در پایین  @livewireScripts  قرار دادم و الان خطایی در کنسول نمایش نمیده و از طرفی نامرئی هم نمیشه.

به نظر شما کار صحیحی هست؟ با تشکر

برای ثبت پاسخ باید خود شوید

محبوب ترین مقالات