Шаблон JSONP включает добавление на вашу страницу элемента <script>
, источник которого будет вызывать обратный вызов, который предоставляет данные с удаленного URL-адреса вашей страницы.
Отс точки зрения сервисного работника, это добавление <script>
вызовет событие fetch
с event.request.destination
, установленным на 'script'
. Кроме того, для event.request.url
будет задан полный URL-адрес ресурса сценария JSONP. Вы можете использовать комбинацию одного или обоих из этих фактов, чтобы сообщить обработчику fetch
вашего сервисного работника, чтобы он делал что-то особенное, когда он встречает запрос JSONP:
self.addEventListener('fetch', (event) => {
if (event.request.destinaton = 'script' &&
event.request.url.startsWith('https://example.com')) {
// Your caching strategy goes here.
// E.g. https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook#network-falling-back-to-cache
}
});