Cache-Busting fuer CSS/JS auf allen Seiten (?v=20260820)

Zusammen mit dem no-cache-Header-Fix in server/index.js: Cloudflare (die
Seite laeuft hinter einem orange-cloud-Proxy) liefert fuer .css/.js einen
eigenen festen Standard-Cache (Browser Cache TTL 4 Std) aus, UNABHAENGIG
vom Origin-Cache-Control -- der no-cache-Header allein reichte deshalb
nicht (per curl bestaetigt: main.css zeigte weiterhin max-age=14400 direkt
nach dem Deploy). Robuste, von Cloudflare-Zoneneinstellungen unabhaengige
Loesung: jede lokale CSS/JS-Referenz auf allen 34 Seiten bekommt einen
Versions-Query-String (?v=20260820) -- fuer Browser/CDN ist das eine neue
URL, alte gecachte Kopien werden dadurch nie mehr faelschlich weiterverwendet.

WICHTIG fuer kuenftige Aenderungen an main.css/main.js: das Datum in ?v=
muss bei der naechsten inhaltlichen Aenderung an einer dieser Dateien
wieder hochgezaehlt werden, sonst greift der Cache-Bust nicht erneut.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-20 19:26:11 +02:00
co-authored by Claude Opus 5
parent 6dad6a5af5
commit 4173e43c78
35 changed files with 232 additions and 232 deletions
+9 -9
View File
@@ -16,10 +16,10 @@
<meta name="twitter:card" content="summary_large_image" />
<meta name="robots" content="noindex" /> <!-- generische URL, echte Team-Seiten verlinken hierher -->
<link rel="stylesheet" href="assets/css/main.css" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css" />
<link rel="stylesheet" href="assets/css/main.css?v=20260820" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260820" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260820" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260820" />
<style>
.profil-photo { aspect-ratio: 4/5; max-width: 420px; margin: 0 auto; }
.profil-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@@ -130,11 +130,11 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js"></script>
<script src="assets/js/data-scouts.js"></script>
<script src="assets/js/data-creator.js"></script>
<script src="assets/js/i18n-profil.js"></script>
<script src="assets/js/main.js"></script>
<script src="assets/js/data-modis.js?v=20260820"></script>
<script src="assets/js/data-scouts.js?v=20260820"></script>
<script src="assets/js/data-creator.js?v=20260820"></script>
<script src="assets/js/i18n-profil.js?v=20260820"></script>
<script src="assets/js/main.js?v=20260820"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const slug = new URLSearchParams(location.search).get("p") || "";