load-error-events.html (3403B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <head> 4 <title>load/error events for JSON modules</title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="../resources/load-error-events-helpers.js"></script> 8 <link rel="help" href="https://html.spec.whatwg.org/multipage/#execute-the-script-block"> 9 </head> 10 <script> 11 "use strict"; 12 13 var test1_load = event_test('inline, 200, parser-inserted', false, false); 14 var test1_error = event_test('inline, 404, parser-inserted', false, true); 15 16 var test2_load = event_test('src, 200, parser-inserted', true, false); 17 var test2_error = event_test('src, 404, parser-inserted', false, true); 18 19 var test3_dynamic_load = event_test('src, 200, not parser-inserted', true, false); 20 var test3_dynamic_error = event_test('src, 404, not parser-inserted', false, true); 21 22 var test4_dynamic_load = event_test('inline, 200, not parser-inserted', false, false); 23 var test4_dynamic_error = event_test('inline, 404, not parser-inserted', false, true); 24 25 var script3_dynamic_load = document.createElement('script'); 26 script3_dynamic_load.setAttribute('type', 'module'); 27 script3_dynamic_load.onload = () => onLoad(test3_dynamic_load); 28 script3_dynamic_load.onerror = () => onError(test3_dynamic_load); 29 script3_dynamic_load.src = "./load-error-events.py?test=test3_dynamic_load"; 30 document.head.appendChild(script3_dynamic_load); 31 32 var script3_dynamic_error = document.createElement('script'); 33 script3_dynamic_error.setAttribute('type', 'module'); 34 script3_dynamic_error.onload = () => onLoad(test3_dynamic_error); 35 script3_dynamic_error.onerror = () => onError(test3_dynamic_error); 36 script3_dynamic_error.src = "./load-error-events.py?test=test3_dynamic_error"; 37 document.head.appendChild(script3_dynamic_error); 38 39 var script4_dynamic_load = document.createElement('script'); 40 script4_dynamic_load.setAttribute('type', 'module'); 41 script4_dynamic_load.onload = () => onLoad(test4_dynamic_load); 42 script4_dynamic_load.onerror = () => onError(test4_dynamic_load); 43 script4_dynamic_load.async = true; 44 script4_dynamic_load.appendChild(document.createTextNode(` 45 import "./module.json" with { type: "json" }; 46 onExecute(test4_dynamic_load);` 47 )); 48 document.head.appendChild(script4_dynamic_load); 49 50 var script4_dynamic_error = document.createElement('script'); 51 script4_dynamic_error.setAttribute('type', 'module'); 52 script4_dynamic_error.onload = () => onLoad(test4_dynamic_error); 53 script4_dynamic_error.onerror = () => onError(test4_dynamic_error); 54 script4_dynamic_error.async = true; 55 script4_dynamic_error.appendChild(document.createTextNode(`import "./not_found.json" with { type: "json" };`)); 56 document.head.appendChild(script4_dynamic_error); 57 </script> 58 <script onload="onLoad(test1_load);" onerror="onError(test1_load);" type="module"> 59 import "./module.json" with { type: "json"}; 60 onExecute(test1_load); 61 </script> 62 <script onload="onLoad(test1_error);" onerror="onError(test1_error);" type="module"> 63 import "./not_found.json" with { type: "json"}; 64 onExecute(test1_error); 65 </script> 66 <script src="./load-error-events.py?test=test2_load" onload="onLoad(test2_load);" onerror="onError(test2_load);" type="module"></script> 67 <script src="./load-error-events.py?test=test2_error" onload="onLoad(test2_error);" onerror="onError(test2_error);" type="module"></script>