tor-browser

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

doc-service-workers.html (798B)


      1 <script>
      2 async function registerWorker() {
      3  const sw = navigator.serviceWorker;
      4  const swr = await sw.register("service-worker.sjs", { scope: "" });
      5  dump(`Registered, scope is: ${swr.scope}\n`);
      6 
      7  await new Promise(resolve => {
      8    const worker = swr.installing || swr.waiting || swr.active;
      9    if (worker.state === 'activated') {
     10      return resolve();
     11    }
     12 
     13    worker.addEventListener('statechange', () => {
     14      if (worker.state === 'activated') {
     15        return resolve();
     16      }
     17    });
     18  });
     19 }
     20 
     21 async function fetchFromWorker() {
     22  const response = await fetch("whatever");
     23  const text = await response.text();
     24  console.log(`Response ${text}`);
     25 }
     26 
     27 async function registerAndFetchFromWorker() {
     28  await registerWorker();
     29  await fetchFromWorker();
     30 }
     31 
     32 fetchFromWorker();
     33 </script>