// Allgemeines Verhalten: Entwurf-Speicherung + ungefährlicher Auto-Refresh. (function () { // --- 1) Entwürfe sichern (überlebt Reload / versehentliches Wegnavigieren) --- function draftKey(el) { return "episupport-draft:" + location.pathname + ":" + (el.name || el.id || "x"); } var drafts = document.querySelectorAll("[data-draft]"); drafts.forEach(function (el) { try { var saved = localStorage.getItem(draftKey(el)); if (saved && !el.value) el.value = saved; } catch (e) {} el.addEventListener("input", function () { try { if (el.value) localStorage.setItem(draftKey(el), el.value); else localStorage.removeItem(draftKey(el)); } catch (e) {} }); }); // Beim Absenden die zugehörigen Entwürfe löschen document.querySelectorAll("form").forEach(function (form) { form.addEventListener("submit", function () { form.querySelectorAll("[data-draft]").forEach(function (el) { try { localStorage.removeItem(draftKey(el)); } catch (e) {} }); }); }); // --- 2) Auto-Refresh, aber NIE während des Tippens/ungesendeten Texts --- var INTERVAL = 120000; // 2 Minuten function hasUnsavedInput() { var a = document.activeElement; if (a && /^(TEXTAREA|INPUT|SELECT)$/.test(a.tagName)) return true; var fields = document.querySelectorAll("textarea, input[type=text], input:not([type])"); for (var i = 0; i < fields.length; i++) { if ((fields[i].value || "").trim() !== "") return true; } return false; } setInterval(function () { if (!hasUnsavedInput()) location.reload(); }, INTERVAL); })();