function checkScroll() { // Ensure two animation frames on load to test the fallback to element // anchor, which gets queued for the next frame if the text fragment is not // found. requestAnimationFrame(() => { requestAnimationFrame(() => { let results = { scrolled: (window.pageYOffset != 0), }; let key = (new URL(document.location)).searchParams.get("key"); stashResultsThenClose(key, results); }); }); } window.addEventListener('pageshow', () => { if (location.hash == "#history") { // This is the "history" test - on the first load we'll navigate to a page // that calls history.back(). When we load a second time (from the back // navigation), record the scroll state at that point to check how history // scroll restoration is handled. if (history.state == null) { history.pushState("test", "test", ""); requestAnimationFrame(() => { location.href = "navigate-back.html"; }); return; } } checkScroll(); });