This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers.
The match() method of the BackgroundFetchRegistration interface returns the first matching BackgroundFetchRecord.
match(request) match(request, options)
requestThe Request for which you are attempting to find records. This can be a Request object or a URL.
options OptionalAn object that sets options for the match operation. The available options are:
ignoreSearch OptionalA boolean value that specifies whether to ignore the query string in the URL. For example, if set to true the ?value=bar part of http://foo.com/?value=bar would be ignored when performing a match. It defaults to false.
ignoreMethod OptionalA boolean value. When true, prevents matching operations from validating the Request http method. If false (the default) only GET and HEAD are allowed.
ignoreVary OptionalA boolean value. When true indicates that the Vary header should be ignored. It defaults to false.
A Promise that resolves with the first BackgroundFetchRecord that matches the request or undefined if no match is found.
Note: BackgroundFetchRegistration.match() is basically identical to BackgroundFetchRegistration.matchAll(), except that rather than resolving with an array of all matching records, it resolves with the first matching record only.
InvalidStateError DOMException
Returned if you call match() when there are no fetches in progress. This state will be reflected by BackgroundFetchRegistration.recordsAvailable being set to false.
In this example we look for a record with the URL "/ep-5.mp3". If a BackgroundFetchRecord is found then we can return some information about it.
bgFetch.match("/ep-5.mp3").then(async (record) => {
if (!record) {
console.log("No record found");
return;
}
console.log(`Here's the request`, record.request);
const response = await record.responseReady;
console.log(`And here's the response`, response);
});
| Specification |
|---|
| Background Fetch> # background-fetch-registration-match> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
match |
74 | 79 | No | 62 | No | 74 | No | 53 | No | 11.0 | No | No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BackgroundFetchRegistration/match