PageSourceSearch

https://stbvs.com/static-pages/honorarschmiede/vendor/cookieconsent/cookieconsent-init.js

js stbvs.com collected 2026-09-24 13:25:22 UTC 5,696 bytes, 145 lines download raw bytes

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.