npm install -i sw-cache-options
dist/sw-cache-options.jsinto your project
- Load it inside ServiceWorker by
This is a polyfill for
CacheQueryOptions of ServiceWorker. At a momemnt, Chrome (and its family) doesn't support it natively, so polyfill required. Chrome is sniffed by user agent, exactly this way:
const isChrome = navigator.userAgent.indexOf('Chrome/') !== -1
ignoreSearchis implemented for all methods which accepts it.
ignoreMethodis implemented for all methods which accepts it.
ignoreVaryis not implemented. Reason is that it requires getting all responses (
Cache#matchAll()), which might not be so bad, I do not want to deal with it a moment. Feel free to make a PR for it.
Browsers which support
CacheQueryOptions nativily: Firefox.
Open https://rawgit.com/NekR/sw-cache-options/master/tests/index.html in target browser and open DevTools console, tests' resulsts are logged into it.
Tests can be run againt any browser with ServiceWorker support, since they check general support of
CacheQueryOptions. However, polyfill is applied only in Chrome-family browsers, so for actuall results test there. To test in other browser:
- Clone repository
- Go to
src/index.jsand comment the line
if (!isChrome) return;
- Then run in command line
- And startup server in repo directory, like this
http-server -p 7777 -c-1
localhost:7777/tests/index.htmland open DevTools console to see results