localstorage-about-blank-partitioned-win-open.html (988B)
1 <!doctype html> 2 <meta charset="utf-8"> 3 <script src="./partitioning-utils.js"></script> 4 <script> 5 window.addEventListener("load", () => { 6 localStorage.clear(); 7 8 const userID = getOrCreateID("userID4"); 9 const payload = { 10 message: "window loaded", 11 userID, 12 } 13 14 let win = window.opener ? window.opener : window.parent; 15 win.postMessage(payload, "*"); 16 }); 17 18 window.addEventListener("message", e => { 19 let win = window.opener ? parent.window.opener : window.parent; 20 21 if (e.data.command == "open about:blank window") { 22 window.blankWindow = window.open("about:blank"); 23 const payload = { 24 message: "about:blank frame ID", 25 userID: window.blankWindow?.localStorage["userID4"], 26 } 27 28 let win = window.opener ? parent.window.opener : window.parent; 29 win.postMessage(payload, "*"); 30 } 31 32 if (e.data.command == "close about:blank window") { 33 window.blankWindow.close(); 34 win.postMessage({message: "about:blank window closed"}, "*"); 35 } 36 }); 37 </script>