1 min read

BFCACHE_INTEGRITY_REQUIRE_NOOPENER_ATTRIBUTE

Requires that links opened with window.open use the noopener attribute to eliminate a source of eviction from the browser's Back-Forward Cache.
Table of Contents

Conformance is available on Enterprise plans

The Back-Forward Cache (bfcache) is a browser feature that allows pages to be cached in memory when the user navigates away from them. When the user navigates back to the page, it can be loaded almost instantly from the cache instead of having to be reloaded from the network. Breaking the bfcache's integrity can cause a page to be reloaded from the network when the user navigates back to it, which can be slow and jarring.

Pages opened with window.open that do not use the noopener attribute can both be a security risk and also will prevent browsers from caching the page in the bfcache. This is because the new window can access the window.opener property of the original window, so putting the original page into the bfcache could break the new window when attempting to access it.

Using the noreferrer attribute will also set the noopener attribute to true, so it can also be used to ensure the page is placed into the bfcache.

To learn more about the bfcache, see the web.dev docs.

Examples of when this check would fail:

window.open('https://example.com', '_blank');
window.open('https://example.com');

Instead, use the noopener or noreferrer attributes:

window.open('https://example.com', '_blank', 'noopener');
window.open('https://example.com', '_top', 'noreferrer');
Last updated on February 22, 2024