From b08ba42b89a10f6407cd9fd69d99d954cf877e01 Mon Sep 17 00:00:00 2001 From: ulsklyc <108589275+ulsklyc@users.noreply.github.com> Date: Wed, 25 Mar 2026 09:36:10 +0100 Subject: [PATCH] fix: CSP-Verletzung durch Inline-Script (SW-Registrierung) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Das Inline-Script in index.html für die Service-Worker-Registrierung wurde von der Content-Security-Policy blockiert (kein 'unsafe-inline' in script-src). Ausgelagert nach /sw-register.js ('self' erlaubt). Außerdem: rel="preload" → rel="modulepreload" für ES-Module (korrekte Browser-Semantik, behebt die Preload-Warnungen in der Console). Co-Authored-By: Claude Sonnet 4.6 --- public/index.html | 16 ++++------------ public/sw-register.js | 13 +++++++++++++ public/sw.js | 1 + 3 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 public/sw-register.js diff --git a/public/index.html b/public/index.html index 4e447d6..625a9fe 100644 --- a/public/index.html +++ b/public/index.html @@ -17,9 +17,9 @@ - - - + + + @@ -53,14 +53,6 @@ - + diff --git a/public/sw-register.js b/public/sw-register.js new file mode 100644 index 0000000..d198577 --- /dev/null +++ b/public/sw-register.js @@ -0,0 +1,13 @@ +/** + * Modul: Service Worker Registrierung + * Zweck: Ausgelagert aus index.html um CSP-Inline-Script-Verletzung zu vermeiden + * Abhängigkeiten: keine + */ + +if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + navigator.serviceWorker.register('/sw.js').catch((err) => { + console.warn('[SW] Registrierung fehlgeschlagen:', err); + }); + }); +} diff --git a/public/sw.js b/public/sw.js index 94da0b6..bee6168 100644 --- a/public/sw.js +++ b/public/sw.js @@ -23,6 +23,7 @@ const APP_SHELL = [ '/index.html', '/api.js', '/router.js', + '/sw-register.js', '/styles/tokens.css', '/styles/reset.css', '/styles/layout.css',