Filipe, zum vierten Mal: "wenn ich in eine kategorie rein gehe und dan zurueck geh die hauptseite immer wieder ganz hoch ... ohne dass die seite hoch scrollt ODER NEU LAEDT." DAS "ODER NEU LAEDT" WAR DER HINWEIS, und ich habe ihn zweimal ueberlesen. kopf.js laedt die Seite selbst neu, sobald der Browser sie aus seinem Rueckwaerts-Speicher holt -- damit keine veralteten Zahlen dastehen. Nach einem Neuladen heisst die Navigationsart aber "reload", nicht "back_forward". UND DIE EIGENTLICHE BOSHEIT stand in einer Zeile, die ich selbst geschrieben habe: Wurde eine Ankunft nicht als Zurueck erkannt, wurde die gemerkte Stelle GELOESCHT. Ein einziges Neuladen reichte -- danach half auch das naechste Zurueckgehen nicht mehr. Deshalb "geht es immer noch nicht", obwohl ich es dreimal fuer behoben hielt. WARUM ES IN JEDER MESSUNG FUNKTIONIERT HAT: kopf.js haelt einen Ereignisstrom offen, und der sperrt den Rueckwaerts-Speicher aus. `persisted` bleibt hier immer false, die Neulade-Zeile lief nie. Auf einem echten Handy greift er sehr wohl. Man muss den Weg gehen, den der Mensch geht -- und wenn man ihn nicht nachstellen kann, baut man gegen ALLE Wege robust statt gegen einen. FUENF AENDERUNGEN: Die Stelle wird LAUFEND gemerkt (gedrosselt auf 250 ms), nicht nur beim Klicken und Verlassen. Deckt auch die Glocke, eine Benachrichtigung und einen Absturz des Reiters ab. Nichts wird mehr geloescht. Die Stelle verfaellt von selbst nach einer Stunde. Wiederhergestellt wird jetzt auch bei "reload" und bei "navigate mit Herkunft aus diesem Haus" -- nicht nur bei "back_forward". Vor dem Neuladen aus dem Rueckwaerts-Speicher wird die Stelle samt Merker festgehalten. Der Pfeil in der Kopfleiste setzt den Merker jetzt fuer BEIDE seiner Wege. Er nimmt history.back() nur, wenn `document.referrer` da ist -- sonst location.assign(), und das ist fuer den Browser ein Hingehen. Hier stand "der braucht nichts"; fuer den zweiten Weg stimmte das nie. Ein Neuanfang faengt weiterhin oben an: keine Herkunft, kein Merker -- also vom Startbildschirm, aus einer Benachrichtigung, ueber die Adresszeile. Beim Bauen fast hineingelaufen: `START` steht in einem anderen Block derselben Datei und waere an der neuen Stelle ein Absturz gewesen -- dieselbe Falle wie bei `$` am 21.09. Jetzt gibt der erste Block ihn einmal bekannt, statt ihn abzuschreiben. Geprueft: pruef-stelle 15/0 (war 9) -- Brotkrume (navigate), Browser-Zurueck (back_forward), NEULADEN (reload), Neuanfang oben, und dass eine fremde Ankunft die Stelle nicht wegwirft. Dazu pruef-sprung 43/0, pruef-start-ansicht 153/0, pruef-css-klassen 30/0.
158 lines
6.9 KiB
HTML
158 lines
6.9 KiB
HTML
<!doctype html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
||
<title>Vertraulich melden · Der Treff</title>
|
||
<meta name="robots" content="noindex, nofollow" />
|
||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||
<meta name="theme-color" content="#06090f" />
|
||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202609220054" />
|
||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202609220054" />
|
||
<link rel="stylesheet" href="assets/css/gate.css?v=202609220054" />
|
||
<link rel="stylesheet" href="assets/css/start.css?v=202609220054" />
|
||
<link rel="stylesheet" href="assets/css/hilfe.css?v=202609220054" />
|
||
<link rel="stylesheet" href="assets/css/module.css?v=202609220054" />
|
||
<link rel="stylesheet" href="assets/css/haus.css?v=202609220054" />
|
||
</head>
|
||
|
||
<body class="start">
|
||
|
||
<div class="schleier" aria-hidden="true"></div>
|
||
|
||
<header class="kopfleiste">
|
||
<button type="button" class="zurueck-knopf" id="zurueck" hidden>
|
||
<svg class="zurueck-knopf__pfeil" viewBox="0 0 24 24" aria-hidden="true">
|
||
<path d="M14.5 5.5 8 12l6.5 6.5" />
|
||
</svg>
|
||
<span class="zurueck-knopf__text">Zurück</span>
|
||
</button>
|
||
<p class="marke"><span class="marke__text"><a class="zurueck" href="start.html">Der Treff</a> · Vertraulich</span></p>
|
||
<div class="kopfleiste__rechts">
|
||
<span class="wer" id="wer">…</span>
|
||
<button type="button" class="abmelden" id="abmelden">Abmelden</button>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="inhalt inhalt--breit">
|
||
|
||
<section class="kopf-zeile">
|
||
<div>
|
||
<p class="marke">Der Treff · Vertraulich</p>
|
||
<h1 class="titel" id="seiten-titel">Vertraulich melden</h1>
|
||
<p class="unterzeile" id="seiten-unter">
|
||
Wenn etwas nicht stimmt – hier schreibst du direkt an DogFather.
|
||
</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ==================================================================
|
||
WARUM HIER "VERTRAULICH" STEHT UND NICHT "ANONYM"
|
||
|
||
Filipe hat es "anonym" genannt, und gegenüber den anderen
|
||
Mitgliedern ist es das auch: Niemand sonst sieht diese Meldungen,
|
||
kein Modi, kein anderes Mitglied.
|
||
|
||
Aber DogFather und die rechte Hand sehen den Namen — so ist es
|
||
bestellt, und es ist auch richtig so: Ohne Namen kann man
|
||
niemandem helfen. Wer glaubt, er schreibe unerkannt, schreibt
|
||
anders und fühlt sich hinterher getäuscht. Deshalb steht der
|
||
Satz oben im Formular, bevor jemand tippt.
|
||
============================================================== -->
|
||
|
||
<p class="fehler" id="fehler" role="alert" aria-live="polite"></p>
|
||
|
||
<!-- Der Hinweis, wer mitliest. Steht VOR allem anderen. -->
|
||
<div class="vertrauen" id="vertrauen">
|
||
<span class="vertrauen__zeichen" aria-hidden="true">
|
||
<svg viewBox="0 0 24 24">
|
||
<path d="M12 3.2 5 6v5.6c0 4.3 2.9 7.6 7 9.2 4.1-1.6 7-4.9 7-9.2V6z" />
|
||
<path d="M9.2 12.2l2 2 3.6-4" />
|
||
</svg>
|
||
</span>
|
||
<p class="vertrauen__text" id="vertrauen-text">
|
||
<strong>DogFather und die rechte Hand lesen mit – sonst niemand.</strong>
|
||
Sie sehen auch deinen Namen. Kein anderes Mitglied und niemand aus
|
||
der Moderation bekommt diese Meldungen zu Gesicht.
|
||
</p>
|
||
</div>
|
||
|
||
<!-- ---- NEU MELDEN (nur für Mitglieder) ------------------------- -->
|
||
<section class="hilfe-block" id="neu-block" hidden>
|
||
<div class="hilfe-block__kopf">
|
||
<h2 class="hilfe-block__titel">Etwas melden</h2>
|
||
<button type="button" class="knopf knopf--klein" id="neu-auf">Neue Meldung</button>
|
||
</div>
|
||
|
||
<form class="hilfe-form" id="neu-form" hidden>
|
||
<label class="feld">
|
||
<span class="feld__schild">Worum geht es? <span class="feld__pflicht">kurz</span></span>
|
||
<input type="text" id="neu-betreff" maxlength="120" autocomplete="off"
|
||
placeholder="z. B. Jemand geht mich im Chat immer wieder an" />
|
||
</label>
|
||
<label class="feld">
|
||
<span class="feld__schild">Was ist passiert?</span>
|
||
<textarea id="neu-text" rows="6" maxlength="4000"
|
||
placeholder="Schreib so viel, wie du willst. Wann war es, wer war dabei, was ist passiert?"></textarea>
|
||
</label>
|
||
<p class="hilfe-form__hinweis">
|
||
Nach dem Absenden wartest du auf eine Antwort. Erst wenn eine da
|
||
ist, kannst du wieder schreiben – so geht nichts durcheinander.
|
||
</p>
|
||
<div class="hilfe-form__fuss">
|
||
<button type="submit" class="knopf" id="neu-senden">Meldung abschicken</button>
|
||
<button type="button" class="knopf knopf--still" id="neu-zu">Abbrechen</button>
|
||
<span class="hilfe-form__stand" id="neu-stand" role="status" aria-live="polite"></span>
|
||
</div>
|
||
</form>
|
||
</section>
|
||
|
||
<!-- ---- DIE LISTE ----------------------------------------------- -->
|
||
<section class="hilfe-block">
|
||
<div class="hilfe-block__kopf">
|
||
<h2 class="hilfe-block__titel" id="listen-titel">Deine Meldungen</h2>
|
||
<span class="hilfe-block__zahl" id="listen-zahl"></span>
|
||
</div>
|
||
<div id="liste" aria-busy="true"><p class="leise">wird geladen …</p></div>
|
||
</section>
|
||
|
||
<!-- ---- EIN FALL ------------------------------------------------- -->
|
||
<section class="hilfe-block" id="fall-block" hidden>
|
||
<div class="hilfe-block__kopf">
|
||
<h2 class="hilfe-block__titel" id="fall-titel">…</h2>
|
||
<button type="button" class="knopf knopf--klein knopf--still" id="fall-zurueck">Zur Liste</button>
|
||
</div>
|
||
<p class="fall-kopf" id="fall-kopf"></p>
|
||
<div id="verlauf"></div>
|
||
|
||
<form class="hilfe-form hilfe-form--antwort" id="antwort-form" hidden>
|
||
<label class="feld">
|
||
<span class="feld__schild" id="antwort-schild">Deine Antwort</span>
|
||
<textarea id="antwort-text" rows="4" maxlength="4000"></textarea>
|
||
</label>
|
||
<div class="hilfe-form__fuss">
|
||
<button type="submit" class="knopf" id="antwort-senden">Absenden</button>
|
||
<button type="button" class="knopf knopf--still" id="fall-schliessen" hidden>Fall abschließen</button>
|
||
<span class="hilfe-form__stand" id="antwort-stand" role="status" aria-live="polite"></span>
|
||
</div>
|
||
</form>
|
||
<!-- EIN <div>, KEIN <p> (20.09.2026). Seit dem Abschluss drei
|
||
Saetze enthaelt, stehen hier <p>-Elemente darin -- und ein
|
||
<p> in einem <p> ist ungueltig: Der Browser schliesst das
|
||
aeussere selbst und schiebt den Rest daneben. Das faellt
|
||
erst am Bildschirm auf, nicht im Quelltext. -->
|
||
<div class="fall-warten" id="fall-warten" hidden></div>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<script src="assets/js/meldung.js?v=202609220054" defer></script>
|
||
<script src="assets/js/nachfrage.js?v=202609220054" defer></script>
|
||
|
||
<script src="assets/js/wahl.js?v=202609220054" defer></script>
|
||
<script src="assets/js/bereiche.js?v=202609220054" defer></script>
|
||
<script src="assets/js/kopf.js?v=202609220054" defer></script>
|
||
<script src="assets/js/hilfe.js?v=202609220054" defer></script>
|
||
</body>
|
||
</html>
|