v135 · miscellaneous

BFCache Eligibility Checker

Toggle page features that affect Back/Forward Cache eligibility and see which NotRestoredReasons reason names would fire — using the Chrome 135 new names. The live read shows the actual reasons from the current page navigation, if any.

checking NotRestoredReasons API…
The NotRestoredReasons API (part of PerformanceNavigationTiming) tells you why a page wasn't restored from BFCache. Chrome 135 renames several reason codes to be more precise and consistent — e.g. "websocket""WebSocket", "weblock""WebLock". This checker simulates which reasons would fire for a given page configuration, using the new names.

Live BFCache reasons from this navigation

Current page — NotRestoredReasons

Reading…

Simulate page features

Renamed reason codes (Chrome 135)

Handling renamed reasons in your RUM pipeline

// Chrome 135 renamed several NotRestoredReasons keys. // Update your RUM normaliser to handle both names during rollout: const REASON_ALIASES = { // old name new name (Chrome 135) 'websocket': 'WebSocket', 'weblock': 'WebLock', 'network_request': 'OutstandingNetworkRequestFetch', 'indexed_db': 'IndexedDBConnection', 'cache_control_no_store': 'CacheControlNoStore', }; function normaliseReason(name) { return REASON_ALIASES[name] ?? name; // pass through if already new name } // Read from PerformanceNavigationTiming const nav = performance.getEntriesByType('navigation')[0]; if (nav?.notRestoredReasons) { const reasons = nav.notRestoredReasons.reasons; reasons.forEach(r => { const canonical = normaliseReason(r.reason); trackMetric('bfcache_block', canonical); }); }