A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2024/03/21 This document is out of date. Please refer to the spec for the full list of reasons. https://html.spec.whatwg.org/multipage/nav-history-apis.html#nrr-details-reason | ||||||||||||||||||||||||||
2 | Category | Explanation to developers | How to fix (for PageSupportNeeded) | Comment | |||||||||||||||||||||||
3 | NotMainFrame | Circumstantial | Navigation happened in a frame other than the main frame. | ||||||||||||||||||||||||
4 | BackForwardCacheDisabled | Circumstantial | Back-forward cache is disabled by flags. Visit chrome://flags/#back-forward-cache to enable it locally on this device. | ||||||||||||||||||||||||
5 | RelatedActiveContentsExist | Circumstantial | The page was opened using `window.open()` and another tab has a reference to it, or the page opened a window. | See more in the spec: https://html.spec.whatwg.org/multipage/browsers.html#nested-browsing-contexts | |||||||||||||||||||||||
6 | HTTPStatusNotOk | Circumstantial | Only pages with a status code of 2XX can be cached. | ||||||||||||||||||||||||
7 | SchemeNotHTTPOrHTTPS | Circumstantial | Only pages whose URL scheme is HTTP / HTTPS can be cached. | ||||||||||||||||||||||||
8 | Loading | Circumstantial | The page did not finish loading before navigating away. | ||||||||||||||||||||||||
9 | WasGrantedMediaAccess | Circumstantial | Pages that have granted access to record video or audio are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
10 | DomainNotAllowed | Circumstantial | Internal error | This is the experiment-only reason for limiting the domains that are allowed to use bfcache. | |||||||||||||||||||||||
11 | HTTPMethodNotGET | Circumstantial | Only pages loaded via a GET request are eligible for back/forward cache. | ||||||||||||||||||||||||
12 | SubframeIsNavigating | Circumstantial | An iframe on the page started a navigation that did not complete | ||||||||||||||||||||||||
13 | Timeout | Circumstantial | The page exceeded the maximum time in back/forward cache and was expired | ||||||||||||||||||||||||
14 | CacheLimit | Circumstantial | The page was evicted from the cache to allow another page to be cached. | ||||||||||||||||||||||||
15 | ForegroundCacheLimit | Circumstantial | The page was evicted from the cache to allow another page to be cached. | ||||||||||||||||||||||||
16 | JavaScriptExecution | Circumstantial | Chrome detected an attempt to execute JavaScript while in the cache. | This should not happen normally but may happen occasionally due to timing or bugs. | |||||||||||||||||||||||
17 | RendererProcessKilled | Circumstantial | The renderer process for the page in back/forward cache was killed. | ||||||||||||||||||||||||
18 | RendererProcessCrashed | Circumstantial | The renderer process for the page in back/forward cache crashed. | ||||||||||||||||||||||||
19 | Dialog(Removed) | Circumstantial | A page cannot be cached if a popup dialog is showing. | No longer blocks bfcache. | |||||||||||||||||||||||
20 | GrantedMediaStreamAccess(Removed) | Circumstantial | Pages that have granted media stream access are not currently eligible for bfcache. | No longer blocks bfcache. | |||||||||||||||||||||||
21 | SchedulerTrackedFeatureUsed (Removed) | --- | Internal error (if this reason appears without any features) | No longer blocks bfcache. | |||||||||||||||||||||||
22 | ConflictingBrowsingInstance | Circumstantial | Internal error. | This one is hard to explain. https://source.chromium.org/chromium/chromium/src/+/master:content/browser/renderer_host/navigation_controller_impl.cc;l=2787;drc=a2a847a176dfebe382e4a9560fc150e21f41db1d | |||||||||||||||||||||||
23 | BrowsingInstanceNotSwapped | Circumstantial | Internal error. | This is also hard to explain.: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/renderer_host/back_forward_cache_metrics.cc;l=491;drc=08bf1ab9dec988363bca3c241715cd0025dd52b5;bpv=1;bpt=1 | |||||||||||||||||||||||
24 | CacheFlushed | Circumstantial | The cache was intentionally cleared. | Should never happen except in tests, so we should call this an internal error) | |||||||||||||||||||||||
25 | ServiceWorkerVersionActivation | Circumstantial | The page was evicted from back/forward cache due to a service worker activation. | ||||||||||||||||||||||||
26 | SessionRestored | Circumstantial | Chrome restarted and cleared the back/forward cache entries. | Chrome was restarted since the user was on this page last, so there is no possibility of it being in bfcache. We should never see this when using the devtool "test bfcache" button but you could see it when observing other navigations. | |||||||||||||||||||||||
27 | Unknown | --- | Internal error | This should never happen and should be an internal error if it does. https://source.chromium.org/chromium/chromium/src/+/master:content/browser/renderer_host/back_forward_cache_metrics.cc;l=305;drc=a2a847a176dfebe382e4a9560fc150e21f41db1d | |||||||||||||||||||||||
28 | ServiceWorkerPostMessage | Circumstantial | A service worker attempted to send the page in back/forward cache a `MessageEvent`. | ||||||||||||||||||||||||
29 | EnteredBackForwardCacheBeforeServiceWorkerHostAdded | Circumstantial | A service worker was activated while the page was in back/forward cache. | ||||||||||||||||||||||||
30 | RenderFrameHostReused_SameSite(Removed) | Circumstantial | Internal error | No longer blocks bfcache. | |||||||||||||||||||||||
31 | RenderFrameHostReused_CrossSite(Removed) | Circumstantial | Internal error | No longer blocks bfcache. | |||||||||||||||||||||||
32 | NotMostRecentNavigationEntry | Circumstantial | Internal error | ||||||||||||||||||||||||
33 | ServiceWorkerClaim | Circumstantial | The page was claimed by a service worker while it is in back/forward cache. | ||||||||||||||||||||||||
34 | IgnoreEventAndEvict | Circumstantial | Internal error | This is actually a collection of many other reasons. | |||||||||||||||||||||||
35 | HaveInnerContents | Circumstantial | Pages that use portals are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
36 | TimeoutPuttingInCache | Circumstantial | The page timed out entering back/forward cache (likely due to long-running pagehide handlers). | ||||||||||||||||||||||||
37 | BackForwardCacheDisabledByLowMemory | Circumstantial | Back/forward cache is disabled due to insufficient memory. | ||||||||||||||||||||||||
38 | BackForwardCacheDisabledByCommandLine | Circumstantial | Back/forward cache is disabled by the command line. | ||||||||||||||||||||||||
39 | BackForwardCacheDisabledForPrerender(Removed) | Circumstantial | Back/forward cache is disabled for prerenderer. | No longer blocks bfcache. | |||||||||||||||||||||||
40 | BackForwardCacheDisabledForDelegate | Circumstantial | Back/forward cache is not supported by delegate. | ||||||||||||||||||||||||
41 | NetworkRequestRedirected | Circumstantial | The page was evicted from back/forward cache because an active network request involved a redirect | ||||||||||||||||||||||||
42 | NetworkRequestExceedsBufferLimit | Circumstantial | The page was evicted from the cache because an active network connection received too much data. Chrome limits the amount of data that a page may receive while cached. | ||||||||||||||||||||||||
43 | NetworkrequestTimeout | Circumstantial | The page was evicted from the cache because a network connection was open too long. Chrome limits the amount of time that a page may receive data while cached. | ||||||||||||||||||||||||
44 | NetworkRequestDatapipeDrainedAsBytesConsumer | SupportPending | Pages that have inflight fetch() or XHR are not currently eligible for back/forward cache. | to be concise, it’s not the error but more like we’ve passed the datapipe of the network request to somewhere else than URLLoader. | |||||||||||||||||||||||
45 | NavigationCancelledWhileRestoring | Circumstantial | Navigation was cancelled before the page could be restored from back/forward cache. | ||||||||||||||||||||||||
46 | OptInUnloadHeaderNotPresent (Removed) | PageSupportNeeded | Pages with unload handler cannot enter back/forward cache. | Include opt-in unload header. This header will be replaced by Document-Policy: unload=?0 or Permissions-Policy: unload=() in the future. | https://github.com/nyaxt/bfcache-opt-in-header | ||||||||||||||||||||||
47 | UnloadHandlerExistsInMainFrame | PageSupportNeeded | The page has an unload handler in the main frame. | Remove unload handler from the main frame. | |||||||||||||||||||||||
48 | UnloadHandlerExistsInSubFrame | PageSupportNeeded | The page has an unload handler in a sub frame. | Remove unload handler from the sub frame. | |||||||||||||||||||||||
49 | UserAgentOverrideDiffers | Circumstantial | Browser has changed the user agent override header. | bfcache team needs work | |||||||||||||||||||||||
50 | ServiceWorkerUnregistration | Circumstantial | ServiceWorker was unregistered while a page was in back/forward cache. | ||||||||||||||||||||||||
51 | CacheControlNoStore | SupportPending | Pages with cache-control:no-store header cannot enter back/forward cache. | This will be allowed for the future version of Chrome. | |||||||||||||||||||||||
52 | CacheControlNoStoreCookieModified | SupportPending | Pages with cache-control:no-store header cannot enter back/forward cache. | Might be allowed for future version of chrome. "Cache-control:no-store is present in the header, and JavaScript cookie is modified while the page is in back/forward cache." | |||||||||||||||||||||||
53 | CacheControlNoStoreHTTPOnlyCookieModified | SupportPending | Pages with cache-control:no-store header cannot enter back/forward cache. | Might be allowed for future version of chrome. "Cache-control:no-store is present in the header, and HTTPOnly cookie is modified while the page is in back/forward cache." | |||||||||||||||||||||||
54 | NoResponseHead | Circumstantial | Pages that do not have a valid response head cannot enter back/forward cache. | ||||||||||||||||||||||||
55 | ActivationNavigationsDisallowedForBug1234857(Removed) | Circumstantial | Internal error | This is a bug. | |||||||||||||||||||||||
56 | (DisableForRenderFrameHostCalled) | Mostly Circumstantial | Pages that use the XXXXX API are not eligible for bfcache. (Below is the list of DisableForRenderFrameHostCalled breakdowns.) | ||||||||||||||||||||||||
57 | Unknown | --- | Internal error | ||||||||||||||||||||||||
58 | SecurityHandler | SupportPending | Pages that use SecurityHandler are not eligible for back/forward cache. | ||||||||||||||||||||||||
59 | WebAuthenticationAPI | SupportPending | Pages that use WebAuthetication API are not eligible for back/forward cache. | ||||||||||||||||||||||||
60 | FileChooser | SupportPending | Pages that use FileChooser API are not eligible for back/forward cache. | ||||||||||||||||||||||||
61 | Serial | SupportPending | Pages that use Serial API are not eligible for back/forward cache. | ||||||||||||||||||||||||
62 | FileSystemAccess(Removed) | SupportPending | Pages that use File System Access API are not eligible for back/forward cache. | ||||||||||||||||||||||||
63 | MediaDevicesDispatcherHost | SupportPending | Pages that use Media Device Dispatcher are not eligible for back/forward cache. | ||||||||||||||||||||||||
64 | WebBluetooth | SupportPending | Pages that use WebBluetooth API are not eligible for back/forward cache. | ||||||||||||||||||||||||
65 | WebUSB | SupportPending | Pages that use WebUSB API are not eligible for back/forward cache. | ||||||||||||||||||||||||
66 | MediaSession (Removed) | SupportPending | Pages that use MediaSession API and set a playback state are not eligible for back/forward cache. | ||||||||||||||||||||||||
67 | MedieSessionService | SupportPending | Pages that use MediaSession API and set action handlers are not eligible for back/forward cache. | ||||||||||||||||||||||||
68 | MediaPlays(Removed) | SupportPending | A media player was playing upon navigating away. | ||||||||||||||||||||||||
69 | ScreenReader | SupportPending | Back/forward cache is disabled due to screen reader. | ||||||||||||||||||||||||
70 | PopupBlockerTabHelper | SupportPending | Popup blocker was present upon navigating away. | ||||||||||||||||||||||||
71 | SafeBrowsingTriggeredPopupBlocker | SupportPending | Safe Browsing considered this page to be abusive and blocked popup. | ||||||||||||||||||||||||
72 | SafeBrowsingThreatDetails | SupportPending | Safe Browsing details were shown upon navigating away. | ||||||||||||||||||||||||
73 | AppBannerManager | SupportPending | App Banner was present upon navigating away. | ||||||||||||||||||||||||
74 | DomDistillerViewerSource | SupportPending | DOM Distiller Viewer was present upon navigating away. | ||||||||||||||||||||||||
75 | DomDistillerSelfDeletingRequestDelegate | SupportPending | DOM distillation was in progress upon navigating away. | ||||||||||||||||||||||||
76 | OomInterventionTabHelper | SupportPending | Out-Of-Memory Intervention bar was present upon navigating away. | ||||||||||||||||||||||||
77 | OfflinePage | SupportPending | The offline page was shown upon navigating away. | ||||||||||||||||||||||||
78 | ChromePasswordManagerClientBindCredentialManager | SupportPending | Chrome Password Manager was present upon navigating away. | ||||||||||||||||||||||||
79 | PermissionRequestManager | SupportPending | There were permission requests upon navigating away. | ||||||||||||||||||||||||
80 | ModalDialog | SupportPending | Modal dialog such as form resubmission or http password dialog was shown for the page upon navigating away. | ||||||||||||||||||||||||
81 | Extensions | SupportPending | Back/forward cache is disabled due to extensions. | ||||||||||||||||||||||||
82 | ExtensionMessaging | SupportPending | Back/forward cache is disabled due to extensions using messaging API. | ||||||||||||||||||||||||
83 | ExtensionMessagingForOpenPort | SupportPending | Extensions with long-lived connection should close the connection before entering back/forward cache. | ||||||||||||||||||||||||
84 | ExtensionSentMessageToCachedFrame | SupportPending | Extensions with long-lived connection attempted to send messages to frames in back/forward cache. | ||||||||||||||||||||||||
85 | (Blocklisted features) | Pages with XXX feature are not currently eligible for bfcache. (Below is the list of Blocklisted feature breakdowns.) | |||||||||||||||||||||||||
86 | Cache-control no-store | Circumstantial | Pages that disable HTTP caching are not currently eligible for bfcache. | ||||||||||||||||||||||||
87 | AppBanner(Removed) | SupportPending | Pages that requested an AppBanner are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
88 | BroadcastChannel | PageSupportNeeded | The page cannot be cached because it has a BroadcastChannel instance with registered listeners. | Remove listeners in the `pagehide` event and close the connection to make this page eligible. broadcastchannel.close(); | |||||||||||||||||||||||
89 | ContainsPlugins | SupportPending | Pages containing plugins are not currently eligible for back/forward cache. | Remove the plugins | |||||||||||||||||||||||
90 | DocumentLoaded | Circumstantial | The document did not finish loading before navigating away. | ||||||||||||||||||||||||
91 | DedicatedWorkerOrWorklet | SupportPending | Pages that use a dedicated worker or worklet are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
92 | IdleManager | SupportPending | Pages that use IdleManager are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
93 | IndexedDBConnection(Removed) | PageSupportNeeded | Pages that have an open IndexedDB connection are not currently eligible for back/forward cache. | Close the open connection in the `pagehide` event to make this page eligible. | |||||||||||||||||||||||
94 | KeyboardLock | PageSupportNeeded | Pages that use Keyboard lock are not currently eligible for back/forward cache. | Release the keyboard lock in the `pagehide` event to make this page eligible. | |||||||||||||||||||||||
95 | OutstandingNetworkRequests | SupportPending | Pages with an in-flight network requests are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
96 | OutstandingIndexedDBTransaction | PageSupportNeeded | Page with ongoing indexed DB transactions are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
97 | PaymentManager | PageSupportNeeded | Pages that use PaymentManager are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
98 | PictureInPicture | SupportPending | Pages that use Picture-in-Picture are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
99 | Portal | SupportPending | Pages that use portals are not currently eligible for back/forward cache. | ||||||||||||||||||||||||
100 | Printing | SupportPending | Pages that show Printing UI are not currently eligible for back/forward cache. |