navigate-history-traversal-during-onnavigate-helper.html (650B)
1 <!doctype html> 2 <head> 3 <script> 4 onload = () => { 5 opener.postMessage("load", "*"); 6 }; 7 8 onmessage = () => { 9 runTest(); 10 } 11 12 async function runTest() { 13 const params = new URLSearchParams(location.search); 14 const count = params.get("count") ?? 1; 15 for (let frag = 0; frag < count; ++frag) { 16 await navigation.navigate(`#${frag}`).finished; 17 } 18 19 const key = navigation.entries()[navigation.currentEntry.index - count].key; 20 21 navigation.onnavigate = async () => { 22 if (count === 1) { 23 navigation.back(); 24 } else { 25 navigation.traverseTo(key); 26 } 27 } 28 29 opener.postMessage("done", "*"); 30 31 history.back(); 32 } 33 </script> 34 </head>