tor-browser

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

file_blockBFCache.html (794B)


      1 <script>
      2 let keepAlive;
      3 window.onpageshow = (pageShow) => {
      4  let bc = new BroadcastChannel("bfcache_blocking");
      5 
      6  bc.onmessage = async function(m) {
      7    switch(m.data.message) {
      8      case "load":
      9        bc.close();
     10        location.href = m.data.url;
     11        break;
     12      case "runScript": {
     13        let test = new Function(`return ${m.data.fun};`)();
     14        keepAlive = await test.call(window);
     15        bc.postMessage({ type: "runScriptDone" });
     16        break;
     17      }
     18      case "back":
     19        bc.close();
     20        history.back();
     21        break;
     22      case "forward":
     23        bc.close();
     24        history.forward();
     25        break;
     26      case "close":
     27        window.close();
     28        break;
     29    }
     30  };
     31 
     32  bc.postMessage({ type: pageShow.type, persisted: pageShow.persisted })
     33 };
     34 </script>