ABCDEFGHIJKLMNOPQRSTUVWXYZAA
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
CategoryExplanation to developersHow to fix (for PageSupportNeeded)Comment
3
NotMainFrameCircumstantialNavigation happened in a frame other than the main frame.
4
BackForwardCacheDisabledCircumstantialBack-forward cache is disabled by flags. Visit chrome://flags/#back-forward-cache to enable it locally on this device.
5
RelatedActiveContentsExistCircumstantialThe 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
HTTPStatusNotOkCircumstantialOnly pages with a status code of 2XX can be cached.
7
SchemeNotHTTPOrHTTPSCircumstantialOnly pages whose URL scheme is HTTP / HTTPS can be cached.
8
LoadingCircumstantialThe page did not finish loading before navigating away.
9
WasGrantedMediaAccessCircumstantialPages that have granted access to record video or audio are not currently eligible for back/forward cache.
10
DomainNotAllowedCircumstantialInternal errorThis is the experiment-only reason for limiting the domains that are allowed to use bfcache.
11
HTTPMethodNotGETCircumstantialOnly pages loaded via a GET request are eligible for back/forward cache.
12
SubframeIsNavigatingCircumstantialAn iframe on the page started a navigation that did not complete
13
TimeoutCircumstantialThe page exceeded the maximum time in back/forward cache and was expired
14
CacheLimitCircumstantialThe page was evicted from the cache to allow another page to be cached.
15
ForegroundCacheLimitCircumstantialThe page was evicted from the cache to allow another page to be cached.
16
JavaScriptExecutionCircumstantialChrome 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
RendererProcessKilledCircumstantialThe renderer process for the page in back/forward cache was killed.
18
RendererProcessCrashedCircumstantialThe renderer process for the page in back/forward cache crashed.
19
Dialog(Removed)CircumstantialA page cannot be cached if a popup dialog is showing.No longer blocks bfcache.
20
GrantedMediaStreamAccess(Removed)CircumstantialPages 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
ConflictingBrowsingInstanceCircumstantialInternal 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
BrowsingInstanceNotSwappedCircumstantialInternal 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
CacheFlushedCircumstantialThe cache was intentionally cleared.Should never happen except in tests, so we should call this an internal error)
25
ServiceWorkerVersionActivationCircumstantialThe page was evicted from back/forward cache due to a service worker activation.
26
SessionRestoredCircumstantialChrome 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 errorThis 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
ServiceWorkerPostMessageCircumstantialA service worker attempted to send the page in back/forward cache a `MessageEvent`.
29
EnteredBackForwardCacheBeforeServiceWorkerHostAddedCircumstantialA service worker was activated while the page was in back/forward cache.
30
RenderFrameHostReused_SameSite(Removed)CircumstantialInternal errorNo longer blocks bfcache.
31
RenderFrameHostReused_CrossSite(Removed)CircumstantialInternal errorNo longer blocks bfcache.
32
NotMostRecentNavigationEntryCircumstantialInternal error
33
ServiceWorkerClaimCircumstantialThe page was claimed by a service worker while it is in back/forward cache.
34
IgnoreEventAndEvictCircumstantialInternal error
This is actually a collection of many other reasons.
35
HaveInnerContentsCircumstantialPages that use portals are not currently eligible for back/forward cache.
36
TimeoutPuttingInCacheCircumstantialThe page timed out entering back/forward cache (likely due to long-running pagehide handlers).
37
BackForwardCacheDisabledByLowMemoryCircumstantialBack/forward cache is disabled due to insufficient memory.
38
BackForwardCacheDisabledByCommandLineCircumstantialBack/forward cache is disabled by the command line.
39
BackForwardCacheDisabledForPrerender(Removed)CircumstantialBack/forward cache is disabled for prerenderer.No longer blocks bfcache.
40
BackForwardCacheDisabledForDelegateCircumstantialBack/forward cache is not supported by delegate.
41
NetworkRequestRedirectedCircumstantialThe page was evicted from back/forward cache because an active network request involved a redirect
42
NetworkRequestExceedsBufferLimitCircumstantialThe 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
NetworkrequestTimeoutCircumstantialThe 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
NetworkRequestDatapipeDrainedAsBytesConsumerSupportPendingPages 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
NavigationCancelledWhileRestoringCircumstantialNavigation was cancelled before the page could be restored from back/forward cache.
46
OptInUnloadHeaderNotPresent (Removed)PageSupportNeededPages 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
UnloadHandlerExistsInMainFramePageSupportNeededThe page has an unload handler in the main frame.Remove unload handler from the main frame.
48
UnloadHandlerExistsInSubFramePageSupportNeededThe page has an unload handler in a sub frame.Remove unload handler from the sub frame.
49
UserAgentOverrideDiffersCircumstantialBrowser has changed the user agent override header.bfcache team needs work
50
ServiceWorkerUnregistrationCircumstantialServiceWorker was unregistered while a page was in back/forward cache.
51
CacheControlNoStoreSupportPendingPages with cache-control:no-store header cannot enter back/forward cache.This will be allowed for the future version of Chrome.
52
CacheControlNoStoreCookieModifiedSupportPendingPages 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
SupportPendingPages 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
NoResponseHeadCircumstantialPages that do not have a valid response head cannot enter back/forward cache.
55
ActivationNavigationsDisallowedForBug1234857(Removed)CircumstantialInternal errorThis is a bug.
56
(DisableForRenderFrameHostCalled)Mostly CircumstantialPages that use the XXXXX API are not eligible for bfcache.
(Below is the list of DisableForRenderFrameHostCalled breakdowns.)
57
Unknown---Internal error
58
SecurityHandlerSupportPendingPages that use SecurityHandler are not eligible for back/forward cache.
59
WebAuthenticationAPISupportPendingPages that use WebAuthetication API are not eligible for back/forward cache.
60
FileChooserSupportPendingPages that use FileChooser API are not eligible for back/forward cache.
61
SerialSupportPendingPages that use Serial API are not eligible for back/forward cache.
62
FileSystemAccess(Removed)SupportPendingPages that use File System Access API are not eligible for back/forward cache.
63
MediaDevicesDispatcherHostSupportPendingPages that use Media Device Dispatcher are not eligible for back/forward cache.
64
WebBluetoothSupportPendingPages that use WebBluetooth API are not eligible for back/forward cache.
65
WebUSBSupportPendingPages that use WebUSB API are not eligible for back/forward cache.
66
MediaSession (Removed)SupportPendingPages that use MediaSession API and set a playback state are not eligible for back/forward cache.
67
MedieSessionServiceSupportPendingPages that use MediaSession API and set action handlers are not eligible for back/forward cache.
68
MediaPlays(Removed)SupportPendingA media player was playing upon navigating away.
69
ScreenReaderSupportPendingBack/forward cache is disabled due to screen reader.
70
PopupBlockerTabHelperSupportPendingPopup blocker was present upon navigating away.
71
SafeBrowsingTriggeredPopupBlockerSupportPendingSafe Browsing considered this page to be abusive and blocked popup.
72
SafeBrowsingThreatDetailsSupportPendingSafe Browsing details were shown upon navigating away.
73
AppBannerManagerSupportPendingApp Banner was present upon navigating away.
74
DomDistillerViewerSourceSupportPendingDOM Distiller Viewer was present upon navigating away.
75
DomDistillerSelfDeletingRequestDelegateSupportPendingDOM distillation was in progress upon navigating away.
76
OomInterventionTabHelperSupportPendingOut-Of-Memory Intervention bar was present upon navigating away.
77
OfflinePageSupportPendingThe offline page was shown upon navigating away.
78
ChromePasswordManagerClientBindCredentialManagerSupportPendingChrome Password Manager was present upon navigating away.
79
PermissionRequestManagerSupportPendingThere were permission requests upon navigating away.
80
ModalDialogSupportPendingModal dialog such as form resubmission or http password dialog was shown for the page upon navigating away.
81
ExtensionsSupportPendingBack/forward cache is disabled due to extensions.
82
ExtensionMessagingSupportPendingBack/forward cache is disabled due to extensions using messaging API.
83
ExtensionMessagingForOpenPortSupportPendingExtensions with long-lived connection should close the connection before entering back/forward cache.
84
ExtensionSentMessageToCachedFrameSupportPendingExtensions 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-storeCircumstantialPages that disable HTTP caching are not currently eligible for bfcache.
87
AppBanner(Removed)SupportPendingPages that requested an AppBanner are not currently eligible for back/forward cache.
88
BroadcastChannelPageSupportNeededThe 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
ContainsPluginsSupportPendingPages containing plugins are not currently eligible for back/forward cache.Remove the plugins
90
DocumentLoadedCircumstantialThe document did not finish loading before navigating away.
91
DedicatedWorkerOrWorkletSupportPendingPages that use a dedicated worker or worklet are not currently eligible for back/forward cache.
92
IdleManagerSupportPendingPages that use IdleManager are not currently eligible for back/forward cache.
93
IndexedDBConnection(Removed)PageSupportNeededPages 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
KeyboardLockPageSupportNeededPages 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
OutstandingNetworkRequestsSupportPendingPages with an in-flight network requests are not currently eligible for back/forward cache.
96
OutstandingIndexedDBTransactionPageSupportNeededPage with ongoing indexed DB transactions are not currently eligible for back/forward cache.
97
PaymentManagerPageSupportNeededPages that use PaymentManager are not currently eligible for back/forward cache.
98
PictureInPictureSupportPendingPages that use Picture-in-Picture are not currently eligible for back/forward cache.
99
PortalSupportPendingPages that use portals are not currently eligible for back/forward cache.
100
PrintingSupportPendingPages that show Printing UI are not currently eligible for back/forward cache.