1/** 2 * CookieConsent v3 â Konfiguration für HonorarSchmiede 3 * 4 * Drei Kategorien: 5 * - necessary : Immer aktiv. Deckt Google Fonts und Calendly ab (laden sofort). 6 * - analytics : Opt-in. Bereit für GA4 / Matomo. Scripts mit data-category="analytics". 7 * - marketing : Opt-in. Bereit für Ad-Pixel (Meta, LinkedIn ...). Scripts mit data-category="marketing". 8 * 9 * So aktivierst Du später Tracking: 10 * 1. Tracking-Script ins HTML einbauen, Beispiel GA4: 11 *
vendor: 127 bytes, lines 11-12
11 <script type="text/plain" data-category="analytics" 12 * src="https://www.googletagmanager.com/gtag/js?id=
12G-XXXXX
vendor: 13 bytes, lines 12-13
12"></script> 13
13* <script type="text/plain" data-category="analytics"> 14 * window.dataLayer = window.dataLayer || []; 15 * function gtag(){dataLayer.push(arguments);} 16 * gtag('js', new Date()); 17 * gtag('config', 'G-XXXXX', { anonymize_ip: true }); 18 * </script> 19 * 2. CookieConsent lädt das Script automatisch erst, wenn der Nutzer "Statistik" 20 * akzeptiert hat. Bei type="text/plain" wird das Script vom Browser ignoriert, 21 * die Library schaltet es nach Consent auf "text/javascript" um und führt es aus. 22 */ 23 24(function () { 25 if (typeof CookieConsent === 'undefined') { 26 console.warn('CookieConsent library nicht geladen â Banner wird nicht angezeigt.'); 27 return; 28 } 29 30 CookieConsent.run({ 31 // Cookie-Speicher-Konfig 32 cookie: { 33 name: 'cc_cookie', 34 expiresAfterDays: 182 // ~6 Monate 35 }, 36 37 // GUI-Optionen 38 guiOptions: { 39 consentModal: { 40 layout: 'box inline', 41 position: 'bottom right', 42 equalWeightButtons: false, 43 flipButtons: false 44 }, 45 preferencesModal: { 46 layout: 'box', 47 equalWeightButtons: true, 48 flipButtons: false 49 } 50 }, 51 52 // Kategorien 53 categories: { 54 necessary: { 55 enabled: true, 56 readOnly: true 57 }, 58 analytics: { 59 enabled: false, 60 autoClear: { 61 cookies: [ 62 { name: /^_ga/ }, // GA4 63 { name: '_gid' }, 64 { name: /^_pk_/ } // Matomo 65 ] 66 } 67 }, 68 marketing: { 69 enabled: false, 70 autoClear: { 71 cookies: [ 72 { name: /^_fbp/ }, // Meta 73 { name: /^_li_/ } // LinkedIn 74 ] 75 } 76 } 77 }, 78 79 // Sprachen 80 language: { 81 default: 'de', 82 translations: { 83 de: { 84 consentModal: { 85 title: 'Cookies & Datenschutz', 86 description: 87 'Diese Website nutzt technisch notwendige Cookies und Dienste (z.B. Webfonts und die Terminbuchung über Calendly), damit alles funktioniert. ' + 88 'Mit Deiner Einwilligung helfen uns zusätzlich Statistik- und Marketing-Cookies, das Angebot zu verbessern. ' + 89 'Du kannst Deine Auswahl jederzeit über den Link âCookie-Einstellungen" im Footer ändern.', 90 acceptAllBtn: 'Alle akzeptieren', 91 acceptNecessaryBtn: 'Nur notwendige', 92 showPreferencesBtn: 'Einstellungen anpassen', 93 footer: '<a href="https://www.stbvs.com/datenschutz" target="_blank" rel="noopener">Datenschutzerklärung</a> · <a href="https://www.stbvs.com/impressum" target="_blank" rel="noopener">Impressum</a>' 94 }, 95 preferencesModal: { 96 title: 'Cookie-Einstellungen', 97 acceptAllBtn: 'Alle akzeptieren', 98 acceptNecessaryBtn: 'Nur notwendige', 99 savePreferencesBtn: 'Auswahl speichern', 100 closeIconLabel: 'SchlieÃen', 101 serviceCounterLabel: 'Dienst|Dienste', 102 sections: [ 103 { 104 title: 'Cookie-Verwendung', 105 description: 106 'Wir setzen Cookies und ähnliche Technologien ein, um die Funktion der Seite sicherzustellen und unser Angebot zu verbessern. ' + 107 'Unten kannst Du im Detail festlegen, welche Kategorien zulässig sind.' 108 }, 109 { 110 title: 'Technisch notwendig <span class="pm__badge">Immer aktiv</span>', 111 description: 112 'Diese Cookies und Dienste sind für den Betrieb der Seite erforderlich. Dazu zählen Webfonts (Google Fonts), die Terminbuchung über Calendly sowie die Sicherheitsfunktion (Captcha) der Formulare.', 113 linkedCategory: 'necessary' 114 }, 115 { 116 title: 'Statistik', 117 description: 118 'Hilft uns, anonymisiert zu verstehen, wie die Website genutzt wird (z.B. Seitenaufrufe, Verweildauer). Aktuell nicht aktiv â wird in Zukunft eingesetzt, sofern Du zustimmst.', 119 linkedCategory: 'analytics' 120 }, 121 { 122 title: 'Marketing', 123 description: 124 'Wird genutzt, um auf anderen Plattformen relevante Anzeigen ausspielen zu können (z.B. LinkedIn, Meta). Aktuell nicht aktiv â wird in Zukunft eingesetzt, sofern Du zustimmst.', 125 linkedCategory: 'marketing' 126 }, 127 { 128 title: 'Mehr Informationen', 129 description: 130 'Bei Fragen zur Cookie-Nutzung wende Dich bitte an <a href="mailto:[email protected]">[email protected]</a>.' 131 } 132 ] 133 } 134 } 135 } 136 } 137 }); 138 139 // Hilfsfunktion: vom Footer-Link aus die Einstellungen erneut öffnen 140 window.openCookieSettings = function (e) { 141 if (e && e.preventDefault) e.preventDefault(); 142 if (typeof CookieConsent !== 'undefined') CookieConsent.showPreferences(); 143 return false;
144 }; 145})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.