Skip to content
This repository has been archived by the owner on Oct 15, 2023. It is now read-only.

Commit

Permalink
Create register-sw.js
Browse files Browse the repository at this point in the history
  • Loading branch information
Coding4Hours authored Sep 17, 2023
1 parent 3da14be commit 9e28fba
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions public/register-sw.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
"use strict";
/**
* Distributed with Ultraviolet and compatible with most configurations.
*/
const stockSW = "/uv/sw.js";

/**
* List of hostnames that are allowed to run serviceworkers on http:
*/
const swAllowedHostnames = ["localhost", "127.0.0.1"];

/**
* Global util
* Used in 404.html and index.html
*/
async function registerSW() {
if (
location.protocol !== "https:" &&
!swAllowedHostnames.includes(location.hostname)
)
throw new Error("Service workers cannot be registered without https.");

if (!navigator.serviceWorker)
throw new Error("Your browser doesn't support service workers.");

// Ultraviolet has a stock `sw.js` script.
await navigator.serviceWorker.register(stockSW, {
scope: __uv$config.prefix,
});
}

0 comments on commit 9e28fba

Please sign in to comment.