tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

controlled-frame-postMessage.html (835B)


      1 <html>
      2 <body>
      3 <script>
      4 var messageData;
      5 function registerMessage()
      6 {
      7    navigator.serviceWorker.onmessage = (e) => {
      8        if (window.messageData === undefined)
      9            window.messageData = e.data;
     10    }
     11 }
     12 
     13 function listenToMessages()
     14 {
     15    messageData = [];
     16    setTimeout(() => {
     17        navigator.serviceWorker.addEventListener("message", (e) => {
     18            messageData.push(e.data);
     19        }, { once:true });
     20    }, 500);
     21    setTimeout(() => {
     22        navigator.serviceWorker.onmessage = (e) => {
     23            messageData.push(e.data);
     24        };
     25    }, 1000);
     26 }
     27 
     28 if (window.location.search === "?repeatMessages") {
     29    setTimeout(() => {
     30        registerMessage();
     31    }, 500);
     32 } else if (window.location.search.includes("listener")) {
     33    listenToMessages();
     34 } else {
     35    registerMessage();
     36 }
     37 </script>
     38 </body>
     39 </html>