PerformanceResourceTiming: contentType property
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available inWeb Workers.
Experimental:This is anexperimental technology
Check theBrowser compatibility table carefully before using this in production.
ThecontentType read-only property of thePerformanceResourceTiming interface is a string indicating the content type of the fetched resource, formatted as aMIME type and subtype separated by a forward slash.
The content type is a minimized and "standardized" version of the MIME type that is extracted from theContent-Type HTTP header sent in the resource's fetch response.For JavaScript, JSON, SVG, and XML, the MIME type is replaced by a representative MIME type/subtype string.Other types supported by the browser are represented by the MIME type/subtype string in the header (other information in the header is discarded).
In this article
Value
A string indicating the MIME type "essence" of the content.This may be one of the following values:
text/javascriptJavaScript content.
application/jsonJSON content.
image/svg+xmlSVG content.
application/xmlXML content (other than SVG).
- MIME type/subtype
Any other MIME type/subtype supported by the user agent.
""(empty string)Returned for MIME types that are not supported by the browser, or if the resource fetch failed due toCORS checks.
Examples
>Filtering resources
ThecontentType property can be used to get specific resource timing entries only; for example, only those related to scripts.
The following example uses aPerformanceObserver to notify of newresource performance entries as they are recorded in the browser's performance timeline.Thebuffered option is used for accessing entries from before the observer creation.
const observer = new PerformanceObserver((list) => { const javascriptResources = list .getEntries() .filter((entry) => entry.contentType === "text/javascript"); console.log(javascriptResources);});observer.observe({ type: "resource", buffered: true });The following example usesPerformance.getEntriesByType(), which only showsresource performance entries present in the browser's performance timeline at the time you call the method.
const scripts = performance .getEntriesByType("resource") .filter((entry) => entry.contentType === "text/javascript");console.log(scripts);Specifications
| Specification |
|---|
| Resource Timing> # dom-performanceresourcetiming-contenttype> |