link-header-referrer-policy.html (823B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <body> 4 <script> 5 window.referrers = {}; 6 const params = new URLSearchParams(location.search); 7 const href = new URL(params.get('href'), location.href).toString(); 8 new PerformanceObserver(async list => { 9 let entries = list.getEntriesByName(href).length; 10 if (!entries) 11 return; 12 13 const script = document.createElement('script'); 14 script.src = href; 15 script.referrerPolicy = params.get('resource-policy'); 16 const loaded = new Promise(resolve => script.addEventListener('load', resolve)); 17 document.body.appendChild(script); 18 await loaded; 19 entries = performance.getEntriesByName(href).length; 20 window.parent.postMessage({ 21 referrers: window.referrers, 22 entries 23 }, '*'); 24 }).observe({type: 'resource', buffered: true}) 25 </script> 26 </body>