diff --git a/public/register-sw.js b/public/register-sw.js index fcf2435..a0f6df1 100644 --- a/public/register-sw.js +++ b/public/register-sw.js @@ -4,11 +4,22 @@ */ 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.");