The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →When you press Back or Forward and the page comes back exactly as you left it, with the same menu open, the same scroll position and the same half-filled form, the browser has most likely not loaded the page again. It has probably restored a snapshot of the page kept in memory, called the back/forward cache (bfcache). That restore is faster than a normal load, but it can also bring back interface state and data that were current when you left and may no longer be current now.
Why an old page appears after Back
A normal history navigation rebuilds a page. The browser requests the document, creates a fresh DOM, and runs the scripts again. Some of the responses may come from the HTTP cache, but the page is still initialized from the start.
As an Amazon Associate I earn from qualifying purchases.
With bfcache, the browser may instead keep the whole page in memory when you leave it. MDN’s bfcache documentation describes the snapshot as including the entire page and its JavaScript heap. Code that is running is paused when you navigate away and resumed when you return. Chromium’s BFCache overview describes the same idea in plainer terms: when the browser navigates away, it might just pause the page, keeping everything fully intact.
That is why a menu you had expanded, a form field you had typed into, or a variable in a script can reappear unchanged. Nothing was reloaded, so nothing reset.
#1 Best Overall
- 【Tri-Mode Connection Wireless Keyboard】Custom keyboard supports Bluetooth 5.0, 2.4GHz wireless and Type-C wired connectivity, allowing you to seamlessly switch between 5 devices depending on the scenario. The large 4000mAh battery ensures extended use, making this topographic theme wireless keyboard ideal for productivity and gaming, whether you’re at home or on the move.
- 【Here Comes Pattern Shine Through Keyboard】 At the heart of the M67 is the revolutionary use of IMD technology, allowing the RGB light to pass through the pattern of keycap, giving your PC mechanical keyboard an unparalleled aesthetics. The M67 keyboard also features 2 led lights under each stabilizer and 5 led lights on the space bar, the unique design that takes the overall feel and aesthetics of the RGB keyboard to the next level.
- 【QMK/VIA Custom Gaming Keyboard】You can easily program and remap each key you want on any system (macOS, Windows, or Linux). The open-source firmware means endless possibilities for keyboard layouts, shortcuts, backlight effects, and more. This qmk/ via custom keyboard is ideal for gaming and professional work. Note: User can remap a key on wired mode only. Once it's done, the keyboard will work on both wireless and wired modes.
- 【Gasket-mounted Mechanical Keyboard &PCB Single Key Slotting】The M67 white mechanical keyboard features a gasket structure, and PCB single key slotting, better optimizes resilience and stability, making the hand feel softer and more elastic. With four layers of filling silencer fills the gap between the PCB, the positioning plate and the Switch. It's the ideal choice for a satisfying,low-noise typing experience, whether in an office or gaming environment.
- 【Hot Swappable & Transparent Linear Switches】The keyboard is equipped with hot-swappable PCB to ensure easy replacement of different mechanical switches with 3-pin and 5-pin. The M67 Hot-Swappable custom keyboard adopts pre-lubed transparent mechanical switches with 80 million keystroke lifespan. Creamy and thocky sounding gives you unlimited fun while typing.
How bfcache differs from HTTP caching
The two mechanisms are easy to confuse because both involve “cache,” but they store different things.
| Aspect | Normal history navigation (HTTP cache may help) | bfcache restore |
|---|---|---|
| What is stored | HTTP responses such as HTML, scripts and images | The live page, including its DOM and in-memory JavaScript state |
| Is the page rebuilt? | Yes, the document is parsed and initialized again | No, the existing page is made visible again |
| Does JavaScript state survive? | No, variables and listeners start fresh | Yes, paused code resumes where it stopped |
| Does the page run its load-time code again? | Yes | Not stated as a general rule by the sources reviewed; developers should test their own page |
| Scroll and form state | May be partly restored by the browser | Preserved with the page snapshot |
The practical consequence is that HTTP cache settings do not control bfcache. A page can be fully rebuilt from HTTP cache on one navigation and restored from memory on another.
Rank #2
- 【High Quality PBT Keycaps & Dye Sublimation】The mechanical keyboard keycaps mimics the unique contours of Spider Web with a simple and stylish design, perfect for gamers who want to show off their love of nature.
- 【Unique Spider Web Shine Through Design】Spider Web pattern with side carved backlit font. Soft RGB backlight penetrates both patterns and letters, creates stunning visual effects under gaming desk RGB lighting setup, great for PC gaming room, e-sports station and content creator streaming setup decoration.
- 【134 Keys Full Universal Keycap Set】Complete key kit covers all standard layouts: 60%, 65%, 75%, 87 TKL, 96%, 104/100% full-size mechanical keyboards. Comes with supplementary spacebar, modifier keys, function keys and novelties, perfect for custom keyboard builders to rebuild or upgrade their gaming rig at home & streaming station.
- 【Wide Compatibility & Ergonomic Cherry Profile】Classic design. Ergonomically, it won't be tired after long-term use. ergonomic design cherry height, designed for backlit/non-backlit mechanical keyboards.Standard cross MX stem fits all Cherry MX, Gateron, Kailh, Outemu mechanical switches. Smooth matte PBT surface resists oil, fingerprint and sweat, no shiny gloss after months of intense gaming. Suitable for home office, remote work, competitive gaming and daily laptop typing accessories.
- 【Complete After-sales Support & Versatile Gift Choice】Each dagaladoo keycap set is fully inspected before shipment. Perfect holiday gift for mechanical keyboard enthusiasts, gamer boyfriend, streamers and custom keyboard hobbyists. If you receive missing or damaged keycaps, contact our customer service for free replacement support.
A restore is not guaranteed
Browsers do not use bfcache for every history navigation. A page can be ineligible, or a cached snapshot can be evicted to free memory. Eligibility rules differ between browsers, so the same page may behave differently in two of them. Treat bfcache as an optimization that may apply, and test the real behavior in the browsers your readers use.
The most useful check is Chrome’s own test. In DevTools, open Application, then Background services, then Back/forward cache, and run the test. When a page is not restored, the panel reports reasons and the frames involved, which is the fastest way to see what blocked it.
Rank #3
- 0.02MM RAPID TRIGGER FOR FPS CONTROL: Adjust Rapid Trigger sensitivity down to 0.02mm while setting the actuation point separately to match your play style. Movement-based activation and reset support faster counter-strafing, quick peeks, repeated inputs and responsive direction changes in FPS and competitive PC games.
- 8000HZ POLLING RATE FOR RESPONSIVE INPUT: The stable wired connection supports an 8000Hz polling rate, updating keyboard inputs up to eight times more frequently than a standard 1000Hz keyboard. Built for fast movement commands, rapid key presses and players who value consistent low-latency performance.
- WEB DRIVER WITH 4 ONBOARD PROFILES: Customize actuation points, Rapid Trigger sensitivity, key assignments and RGB lighting through a supported Chrome or Edge browser without installing traditional desktop software. Save up to four onboard profiles for different games, users and control preferences.
- COMPACT 68-KEY LAYOUT WITH ARROW KEYS: The space-saving design leaves more room for wide mouse movement while retaining dedicated arrow keys and essential navigation controls. Double-shot keycaps provide durable legends and clear RGB illumination for gaming desks, bedrooms, dorm rooms and compact PC setups.
- MAGNETIC SWITCHES BUILT FOR GAMING: Contactless Hall Effect sensing provides a smooth linear response and reduces physical contact wear, with switches rated for up to 100 million presses. Factory-lubed stabilizers improve larger-key feel, making the T68-C a practical birthday, Christmas or back-to-school gift for teens, students and FPS gamers.
How to detect a restore in your code
The pageshow event fires after load on the first page load, and again any time the page is restored from bfcache. The event’s persisted property tells you which case you are in. web.dev’s back/forward cache guide, by Philip Walton and Barry Pollard, uses this check as the standard way to recognize a restore.
window.addEventListener("pageshow", function (event) {
if (event.persisted) {
// The page was restored from bfcache.
// Re-check any state that may have changed while the page was away.
}
});
Use this check to decide what to refresh. Do not use it to skip initialization that the page still needs on every visit.
Rank #4
- Used Book in Good Condition
Debugging a page that is not restored
- Add the
pageshowlistener above and confirm, on a second visit through Back, whetherevent.persistedistrue. If it is nevertrue, the page is not being restored from bfcache in that browser. - In Chrome, open DevTools, go to Application, then Background services, then Back/forward cache, and run the test. Note the reported reasons and any frames listed.
- Check for
unloadlisteners. Chrome DevTools flags them as an actionable issue, because they make a page ineligible. The web.dev guide recommends usingpagehideinstead. - Where the browser supports it, inspect
PerformanceNavigationTiming.notRestoredReasons. MDN labels this API experimental with limited availability, so use it as a supplement to the DevTools test rather than as a cross-browser diagnostic.
When restored state may be stale or sensitive
A restored page shows what the page looked like when you left it. If something changed on the server while you were away, the restored view can be out of date. This matters most for:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
- Account pages, where a logout or permission change may have happened in another tab.
- Checkout and payment steps, where prices, stock or totals may have changed.
- Any view that displays personal information on a shared or public computer.
After a restore, the application should verify the state it depends on and update or reload the parts that are time-sensitive. web.dev’s guide also warns that sensitive information needs careful handling in restored pages.
Best Value
Setting Cache-Control: no-store on pages is a blunt tool. It can keep sensitive responses out of storage, but the guidance reviewed for this article advises against applying it indiscriminately as a performance workaround, because it removes benefits for pages that would be safe to restore. Choose it per page, based on the data involved.
Analytics can miss restored visits
A restored page does not go through the same initial-load path as a fresh visit. If your analytics only record pageviews on load, a restored view may not be counted as a new pageview. Recording a pageshow event when persisted is true lets you count these visits and keep them separate from ordinary loads in performance reporting.
How common this is depends on the audience. The web.dev guide, in its 2026 update, reports Chrome usage data showing that 1 in 10 desktop navigations and 1 in 5 mobile navigations are back or forward navigations. These figures describe how often users navigate backward or forward. They are not a bfcache hit rate, and they do not show how many of those navigations were restored from memory. Sentry’s JavaScript SDK v11 also offers an opt-in bfcache metrics integration, for teams that prefer a monitoring tool to hand-built reporting.
Scope: NinoGames pages specifically
This guide explains general browser behavior. We did not find NinoGames-specific documentation describing its engine, framework, browser support or deployment setup, so the examples above make no assumptions about any of them. If you are debugging a NinoGames page, start with the DevTools test and the pageshow check. Those tell you what the browser is actually doing, whatever the page is built with.
Quick Recap
“
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




