beforematch-scroll-to-text-fragment-bubble.html (945B)
1 <!DOCTYPE html> 2 <script src="/scroll-to-text-fragment/stash.js"></script> 3 4 <!-- This test is navigated to with the fragment #:~:text=foo --> 5 6 <div id=parentid> 7 <div id=childid hidden=until-found>foo</div> 8 </div> 9 10 <script> 11 (async () => { 12 const results = { 13 beforematchFiredOnChild: false, 14 beforematchFiredOnParent: false 15 }; 16 17 let beforematchResolver = null; 18 const beforematchPromise = new Promise(resolve => { 19 beforematchResolver = resolve; 20 }); 21 22 childid.addEventListener('beforematch', () => { 23 results.beforematchFiredOnChild = true; 24 beforematchResolver(); 25 }); 26 27 parentid.addEventListener('beforematch', () => { 28 results.beforematchFiredOnParent = true; 29 }); 30 31 await beforematchPromise; 32 await new Promise(requestAnimationFrame); 33 await new Promise(requestAnimationFrame); 34 const params = new URLSearchParams(window.location.search); 35 stashResultsThenClose(params.get('key'), results); 36 })(); 37 </script>