webRequest.ResourceType

This type is a string, which represents the context in which a resource was fetched in a web request.

It's used to filter the requests you listen to using the webRequest API. For example: you can listen to requests only for images, or only for scripts.

Type

Values of this type are strings. Possible values are:

beacon
Requests sent through the Beacon API.
csp_report
Requests sent to the report-uri given in the Content-Security-Policy header, when an attempt to violate the policy is detected.
font
Web fonts loaded for a @font-face CSS rule.
image
Resources loaded to be rendered as image, except for imageset on browsers that support that type (see browser compatibility below).
imageset
Images loaded by a <picture> element or given in an <img> element's srcset attribute.
main_frame
Top-level documents loaded into a tab.
media
Resources loaded by a  <video> or  <audio> element.
object
Resources loaded by an <object> or <embed> element.
Browsers that don't have a dedicated object_subrequest type (see browser compatibility below), also label subsequent requests sent by the plugin as object.
object_subrequest
Requests sent by plugins.
ping
Requests sent to the URL given in a hyperlink's ping attribute, when the hypelink is followed.
Browsers that don't have a dedicated beacon type (see browser compatibility below), also label requests sent through the Beacon API as ping.
script
Code that is loaded to be executed by a <script> element or running in a Worker.
speculative
In a speculative connection the browser has determined that a request to a URI may be coming soon, so it starts a TCP and/or TLS handshake immediately, so it is ready more quickly when the resource is actually requested.
stylesheet
CSS stylesheets loaded to describe the representation of a document.
sub_frame
Documents loaded into an <iframe> or <frame> element.
web_manifest
Web App Manifests loaded for websites that can be installed to the homescreen.
websocket
Requests initiating a connection to a server through the WebSocket API.
xbl
XBL bindings loaded to extend the behavior of elements in a document.
xml_dtd
DTDs loaded for an XML document.
xmlhttprequest
Requests sent by an XMLHttpRequest object or through the Fetch API.
xslt
XSLT stylesheets loaded for transforming an XML document.
other
Resources that aren't covered by any other available type.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
Basic supportChrome Full support 44Edge No support NoFirefox Full support 45Opera Full support 31Firefox Android Full support 48
beaconChrome No support NoEdge No support NoFirefox Full support 45Opera No support NoFirefox Android Full support 48
csp_reportChrome Full support 58Edge No support NoFirefox Full support 45Opera Full support 45Firefox Android Full support 48
fontChrome Full support 49Edge No support NoFirefox Full support 45Opera Full support 36Firefox Android Full support 48
imagesetChrome No support NoEdge No support NoFirefox Full support 45Opera No support NoFirefox Android Full support 48
mediaChrome Full support 58Edge No support NoFirefox Full support 45Opera Full support 45Firefox Android Full support 48
object_subrequestChrome No support NoEdge No support NoFirefox Full support 55
Notes
Full support 55
Notes
Notes Requests have been reported as `object_subrequest` before, but the type was missing in the `ResourceType` object before Firefox 55.
Opera No support NoFirefox Android Full support 55
Notes
Full support 55
Notes
Notes Requests have been reported as `object_subrequest` before, but the type was missing in the `ResourceType` object before Firefox 55.
pingChrome Full support 49
Notes
Full support 49
Notes
Notes Requests sent by navigator.sendBeacon(), and CSP reports in Chrome 49-57 (Opera 36-44), are also labeled as `ping`.
Edge No support NoFirefox Full support 45Opera Full support 36
Notes
Full support 36
Notes
Notes Requests sent by navigator.sendBeacon(), and CSP reports in Chrome 49-57 (Opera 36-44), are also labeled as `ping`.
Firefox Android Full support 48
speculativeChrome No support NoEdge No support NoFirefox Full support 63Opera No support NoFirefox Android Full support 63
web_manifestChrome No support NoEdge No support NoFirefox Full support 45Opera No support NoFirefox Android Full support 48
websocketChrome Full support 58Edge No support NoFirefox Full support 45Opera Full support 45Firefox Android Full support 48
xblChrome No support NoEdge No support NoFirefox Full support 45Opera No support NoFirefox Android Full support 48
xml_dtdChrome No support NoEdge No support NoFirefox Full support 45Opera No support NoFirefox Android Full support 48
xsltChrome No support NoEdge No support NoFirefox Full support 45Opera No support NoFirefox Android Full support 48

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

Acknowledgements

This API is based on Chromium's chrome.webRequest API. This documentation is derived from web_request.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

Contributors to this page: wbamberg, snoack, Wladimir_Palant, rolfedh
Last updated by: wbamberg,