HTTP/2 302
x-cloud-trace-context: fba2aacd3e31fa4d23ab1519d2a0b59c
location: /en-US/docs/Web/API/PerformanceNavigationTiming/activationStart
via: 1.1 google, 1.1 varnish, 1.1 varnish, 1.1 varnish, 1.1 varnish
accept-ranges: bytes
cache-control: no-store
server: Google Frontend
content-type: text/plain; charset=utf-8
date: Fri, 26 Dec 2025 08:58:27 GMT
x-served-by: cache-bfi-krnt7300095-BFI, cache-bfi-krnt7300095-BFI, cache-sin-wsss1830071-SIN, cache-bom-vanm7210057-BOM
x-cache: MISS, MISS, MISS, MISS
x-cache-hits: 0, 0, 0, 0
x-timer: S1766739508.522525,VS0,VE287
vary: Accept
content-length: 85
HTTP/2 200
x-goog-stored-content-length: 148184
x-goog-metageneration: 1
referrer-policy: strict-origin-when-cross-origin
expires: Fri, 26 Dec 2025 09:58:27 GMT
x-goog-hash: crc32c=A868bA==, md5=gRWYOTGHSJQ2nzgHmMiSyA==
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://*.googletagmanager.com assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://*.googletagmanager.com assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' mdn.github.io *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-goog-meta-goog-reserved-file-mtime: 1766709882
x-frame-options: DENY
x-goog-stored-content-encoding: identity
x-goog-generation: 1766711072673032
via: 1.1 google, 1.1 varnish, 1.1 varnish, 1.1 varnish, 1.1 varnish
server: Google Frontend
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
last-modified: Fri, 26 Dec 2025 01:04:32 GMT
x-goog-storage-class: STANDARD
x-cloud-trace-context: 0f0cf11e4117d0383e36fd5577e02bdd
x-content-type-options: nosniff
content-type: text/html
etag: "8115983931874894369f380798c892c8"
cache-control: public, max-age=3600
x-guploader-uploadid: AHVrFxPcXC_Peabzu0wdrsjpZHDalGy_1oH1UVM0NYslQ8-NaBrdsJXSCCk7n4V2Um2sOsVL92SOF6M
strict-transport-security: max-age=63072000
content-encoding: gzip
accept-ranges: bytes
age: 0
date: Fri, 26 Dec 2025 08:58:28 GMT
x-served-by: cache-bfi-krnt7300032-BFI, cache-bfi-krnt7300048-BFI, cache-sin-wsat1880029-SIN, cache-bom-vanm7210057-BOM
x-cache: MISS, MISS, MISS, MISS
x-cache-hits: 0, 0, 0, 0
x-timer: S1766739508.822877,VS0,VE359
vary: Accept-Encoding
content-length: 19706
PerformanceNavigationTiming: activationStart property - Web APIs | MDN
A DOMHighResTimeStamp representing the duration between document prerendering start and activation in milliseconds.
The value is 0 if the page has not prerendered or is still prerendering.
When a prerendered document is activated, activationStart is set to the current time. The following function can check whether a page is prerendering or has already prerendered:
function pagePrerendered() {
return (
document.prerendering ||
self.performance?.getEntriesByType?.("navigation")[0]?.activationStart > 0
);
}
With prerendered pages, a page may have been created long before it was actually navigated to. When using the Performance API on prerendered pages, it is vital to compare returned values with activationStart in order to avoid misleading measurements.
// Time to when activation occurred
let activationStart =
performance.getEntriesByType("navigation")[0].activationStart;
// Time to first paint
let firstPaint = performance.getEntriesByName("first-paint")[0].startTime;
// Time to first contentful paint
let firstContentfulPaint = performance.getEntriesByName(
"first-contentful-paint",
)[0].startTime;
console.log(`time to first paint: ${firstPaint - activationStart}`);
console.log(
`time to first-contentful-paint: ${firstContentfulPaint - activationStart}`,
);
Enable JavaScript to view this browser compatibility table.