Если заявление для конкретного event.request

У меня есть следующий код в моем сервисном работнике index.js, чтобы показать все URL запроса на событие:

self.addEventListener('fetch', functin(event) {
  console.log(event.request.url);
});

При этом все URL запроса перечислены в консоли. Что мне нужно, это простой оператор if, чтобы проверить, заканчивается ли URL-адрес запроса.jpg. до сих пор я попробовал это с if === '.jpg' или варианты или с image/jpgно это не сработает.

2 ответа

Решение

Вы можете использовать String.prototype.endsWith:

if (event.request.url.endsWith('.jpg')) {
    console.log(event.request.url);
}

Однако, если этот код будет работать в браузере, имейте в виду, что Internet Explorer пока не поддерживает эту функцию, поэтому вам может потребоваться использовать полизаполнение.

Например

if (event.request.url.endsWith('.jpg')) {
    console.log(event.request.url);
    //handling response you may replace it with somthing
     event.respondWith(fetch('/imgs/avatar.jpg'));
}
Другие вопросы по тегам