preload-csp-report.https.sub.html (878B)
1 <!DOCTYPE html> 2 <html> 3 <body> 4 <!-- This image will cause a CSP violation, which will trigger an immediate report --> 5 <script> 6 const href = "/reporting/resources/fail.png"; 7 8 window.addEventListener('load', async () => { 9 // Trigger a CSP error. 10 await new Promise(resolve => { 11 const link = document.createElement('link'); 12 link.rel = 'preload'; 13 link.href = href; 14 link.as = 'image'; 15 document.head.appendChild(link); 16 link.addEventListener('error', resolve); 17 }); 18 19 // Trigger a second CSP error by consuming. 20 await new Promise(resolve => { 21 const img = document.createElement('img'); 22 img.src = href; 23 img.addEventListener('error', resolve); 24 document.body.appendChild(img); 25 }); 26 }); 27 </script> 28 </body> 29 </html>