tor-browser

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

file_ship_beforeunload_fired.html (1196B)


      1 <html>
      2  <script>
      3    onpageshow = function(pageShowEvent) {
      4      var bc = new BroadcastChannel("ship_beforeunload");
      5      bc.onmessage = function(event) {
      6        if (event.data.action == "register_beforeunload") {
      7          onbeforeunload = function() {
      8            bc.postMessage("beforeunload_fired");
      9            bc.close();
     10          }
     11          if (event.data.loadNextPageFromSessionHistory) {
     12            history.back();
     13          } else {
     14            location.href += "?differentpage";
     15          }
     16        } else if (event.data.action == "navigate_to_page_b") {
     17          bc.close();
     18          if (event.data.blockBFCache) {
     19            window.blockBFCache = new RTCPeerConnection();
     20          }
     21          location.href += "?pageb";
     22        } else if (event.data.action == "back_to_page_b") {
     23          if (event.data.forwardNavigateToPageB) {
     24            history.forward();
     25          } else {
     26            history.back();
     27          }
     28          bc.close();
     29        } else if (event.data.action == "close") {
     30          bc.close();
     31          window.close();
     32        }
     33      }
     34      bc.postMessage({type: pageShowEvent.type, persisted: pageShowEvent.persisted});
     35    }
     36  </script>
     37 </html>