- /lagebild/ -> 301 Redirect -> /lagen/iran-konflikt/ - Relative Pfade auf absolute umgestellt (Tiefe 2) - Sync-Script + Analytics auf neuen Pfad aktualisiert - /vorschau/ mit Passwort-Gate fuer neue Hauptseite - CLAUDE.md aktualisiert - .gitignore: Lagen-Datenverzeichnisse ausgeschlossen Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
74 Zeilen
2.8 KiB
JavaScript
74 Zeilen
2.8 KiB
JavaScript
/**
|
|
* AegisSight Analytics - Custom Events
|
|
* Trackt wichtige Nutzerinteraktionen via Umami
|
|
*/
|
|
(function() {
|
|
"use strict";
|
|
|
|
// Nur tracken wenn umami geladen ist
|
|
function track(name, data) {
|
|
if (typeof umami !== "undefined" && umami.track) {
|
|
umami.track(name, data);
|
|
}
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", function() {
|
|
|
|
// 1. Produkt-Tab geklickt
|
|
document.querySelectorAll("[data-translate]").forEach(function(el) {
|
|
if (el.closest(".products-section, .product-card, .tab-button")) {
|
|
el.addEventListener("click", function() {
|
|
var text = el.textContent.trim().substring(0, 50);
|
|
track("Produkt-Interesse", { element: text });
|
|
});
|
|
}
|
|
});
|
|
|
|
// 2. About-Tabs (Unternehmen, Mission, Kernkompetenzen, Versprechen)
|
|
document.querySelectorAll(".about-tab, .tab-btn, [data-tab]").forEach(function(el) {
|
|
el.addEventListener("click", function() {
|
|
var tab = el.getAttribute("data-tab") || el.textContent.trim().substring(0, 30);
|
|
track("About-Tab", { tab: tab });
|
|
});
|
|
});
|
|
|
|
// 3. Kontaktbereich erreicht (Scroll)
|
|
var contactTracked = false;
|
|
var observer = new IntersectionObserver(function(entries) {
|
|
entries.forEach(function(entry) {
|
|
if (entry.isIntersecting && !contactTracked) {
|
|
contactTracked = true;
|
|
track("Kontakt-Bereich-erreicht");
|
|
}
|
|
});
|
|
}, { threshold: 0.5 });
|
|
|
|
var footer = document.querySelector("footer, .contact-section, #kontakt, #contact");
|
|
if (footer) observer.observe(footer);
|
|
|
|
// 4. Sprachenwechsel
|
|
document.querySelectorAll(".lang-switch, .language-btn, [data-lang]").forEach(function(el) {
|
|
el.addEventListener("click", function() {
|
|
var lang = el.getAttribute("data-lang") || el.textContent.trim();
|
|
track("Sprachenwechsel", { sprache: lang });
|
|
});
|
|
});
|
|
|
|
// 5. Lagebild-Seite: Tab gewechselt
|
|
if (window.location.pathname.indexOf("lagen") > -1) {
|
|
document.querySelectorAll(".tab-button, [data-tab]").forEach(function(el) {
|
|
el.addEventListener("click", function() {
|
|
var tab = el.getAttribute("data-tab") || el.textContent.trim().substring(0, 30);
|
|
track("Lagebild-Tab", { tab: tab });
|
|
});
|
|
});
|
|
track("Lagebild-Besuch");
|
|
}
|
|
|
|
// 6. AccountForger Video aufgerufen
|
|
if (window.location.pathname.indexOf("accountforger") > -1) {
|
|
track("AccountForger-Video-Aufruf");
|
|
}
|
|
});
|
|
})();
|