Service Worker 可以拦截 ajax 请求吗?

Can service worker intercept ajax requests?

根据 MDN:

The onfetch property of the ServiceWorkerGlobalScope interface is an event handler fired whenever a fetch event occurs (usually when the WindowOrWorkerGlobalScope.fetch() method is called.)

这是否意味着 service worker 只能拦截 fetch() 从主线程发送的请求? ajax 个请求怎么样?有什么办法可以通过service worker拦截吗?

Fetch events are sent when any resource is being fetched through HTTP,无论是脚本、媒体、链接等,还是 XHR。

所以是的,ServiceWorker 应该拦截 XHR 请求(尽管 ...)