حمزه رضائی
4 سال پیش توسط حمزه رضائی مطرح شد
0 پاسخ

نمایش ندادن صفحه مد نظر به جای ارور در زمان افلاین بودن صفحه

self.addEventListener('fetch',(event)=>{

event.respondWith(
        //اگر در کش چیزی وجود داشت
        caches.match(event.request).then(Response=>{
            if(Response) return Response;//بیا برگردون اطلاعات

            // اگر وجود نداشت
            return fetch(event.request).then(networkResponse=>{//یک داینامیک ایجاد می کند و اطلاعات را در ان می ریزد
                caches.open(CURRENT_CACHE['dynamic']).then(cache=>{
                    cache.put(event.request,networkResponse.clone());
                    return networkResponse;
                })
            })
            .catch(err=>{//برای زمانی که پیچی کش نشده و میخوایم باز کنیم به جای ارور یک صفحه مد نظز ما را نشان میدهد 

                return caches.open(CURRENT_CACHE['static']).then(cache=>{

                    return cache.match('/offline.html');
                  // console.log('show page2');

                })
            })
        })

)

});


ثبت پرسش جدید

به همدیگه کمک کنیم

به حمزه رضائی کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

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

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