base-javascript.html (1145B)
1 <!-- Please update base-data.html together with this --> 2 <!DOCTYPE html> 3 <meta charset="utf-8"> 4 <title><base> and javascript: URLs</title> 5 <script src=/resources/testharness.js></script> 6 <script src=/resources/testharnessreport.js></script> 7 <base href="javascript:/,test"> 8 <base href="https://example.com/"> 9 <div id=log></div> 10 <script> 11 test(() => { 12 const link = document.createElement("a"); 13 link.href = "blah"; 14 assert_equals(link.href, new URL("blah", document.URL).href); 15 }, "First <base> has a javascript: URL so fallback is used"); 16 17 test(() => { 18 document.querySelector("base").remove(); 19 const link = document.createElement("a"); 20 link.href = "blah"; 21 assert_equals(link.href, new URL("blah", "https://example.com/").href); 22 }, "First <base> is removed so second is used"); 23 24 test(() => { 25 const base = document.createElement("base"); 26 base.href = "javascript:/,more-test"; 27 document.head.prepend(base); 28 const link = document.createElement("a"); 29 link.href = "blah"; 30 assert_equals(link.href, new URL("blah", document.URL).href); 31 }, "Dynamically inserted first <base> has a javascript: URL so fallback is used"); 32 </script>