files/en-us/web/api/notrestoredreasons/index.md
{{APIRef("Performance API")}}{{SeeCompatTable}}
The NotRestoredReasons interface of the {{domxref("Performance API", "Performance API", "", "nocode")}} provides report data containing reasons why the current document was blocked from using the back/forward cache ({{Glossary("bfcache")}}) on navigation.
These objects are accessed via the {{domxref("PerformanceNavigationTiming.notRestoredReasons")}} property.
NotRestoredReasons objects, one for each child {{htmlelement("iframe")}} embedded in the current document, which may contain reasons why the top-level frame was blocked relating to the child frames. Each object has the same structure as the parent object — this way, any number of levels of embedded <iframe>s can be represented inside the object recursively. If the frame has no children, the array will be empty; if the document is in a cross-origin <iframe>, children will return null.id attribute value of the <iframe> the document is contained in (for example <iframe id="foo" src="...">). If the document is not in an <iframe> or the <iframe> has no id set, id will return null.name attribute value of the <iframe> the document is contained in (for example <iframe name="bar" src="...">). If the document is not in an <iframe> or the <iframe> has no name set, name will return null.<iframe>, reasons will return null, but the parent document may show a reason of "masked" if any <iframe>s blocked bfcache usage for the top-level frame.<iframe> the document is contained in (for example <iframe src="exampleframe.html">). If the document is not in an <iframe>, src will return null.<iframe>. If the document is in a cross-origin <iframe>, url will return null.NotRestoredReasons object.See Monitoring bfcache blocking reasons for examples.
{{Specifications}}
{{Compat}}