Warrior Cats - die Welt der Katzen.
Tritt dem DonnerClan, WindClan, FlussClan, SchattenClan, WolkenClan oder dem BlutClan bei und führe ein Leben als Krieger!
Warrior Cats - das RPG
Warrior Cats - die Welt der Katzen.
Tritt dem DonnerClan, WindClan, FlussClan, SchattenClan, WolkenClan oder dem BlutClan bei und führe ein Leben als Krieger!
Warrior Cats - das RPG
Entdecke den Krieger in dir, werde einer von uns und klettere die Clan- Rangliste immer weiter nach oben.
Tageskenntnis: Kalt ist es in den Territorien der Clans geworden. Die Beute hat sich fast vollständig unter die Erde oder in die Bäume zurückgezogen, sodass die Territorien ruhig daliegen. Die Blattleere ist so richtig in den Territorien angekommen, und vor Schnee kann sich keine Katze mehr verbergen. Vom östlichen Zweibeinerort schleichen sich langsam die dunklen Wolken heran, die sich über den Territorien des WolkenClans und DonnerClans geöffnet haben: es schneit. Dicke Flocken legen sich über den Wald, färben ihn weiß, und machen es unangenehm für alle Waldbewohner. Zweibeiner und ihre Hunde sieht man hier kaum, während der Schnee so dicht fällt. Hauskatzen lassen sich gar nicht erst blicken.
Beim WindClan und FlussClan sieht das noch anders aus. Zwar scheint die Sonne nicht und die Winde sind kalt, doch von den dicken Flocken sind diese Clans vorerst verschont. Hin und wieder schneit es ein wenig, doch es ist bei weitem nicht genug Schnee, um die Territorien darin zu begraben. Der Fluss ist nun allerdings gefroren – das Eis ist allerdings nicht dick genug, um eine Katze zu tragen!
Besonders betroffen: DonnerClan und WolkenClan: starker Schneefall FlussClan: Eisschicht auf dem Fluss
Thema: Automatisches Zwischenspeichern von Posts So 19 Feb 2023, 20:35
Sehr geehrte Userschaft,
es überrascht bestimmt niemanden, dass ich mir aus Langweile wieder Gedanken gemacht habe, wie man die Funktionalität des Forums hinsichtlich einer technischen Betrachtung verbessern könnte.
Wie man dem Titel des Themas entnehmen kann, geht es hierbei um ein automatisches Zwischenspeichern von Posts im Browser-Cache. Sinn und Zweck davon soll es sein, dass Posts nicht mehr versehentlich verloren gehen können, weil der Browsertab geschlossen wird (oder der Browser sich aus Trotz dazu entscheidet, den Dienst zu quittieren).
Ich habe dies - in gewohnter Art - bereits lokal bei mir im Browser umgesetzt. Der Ablauf ist wie folgt:
Es wird die aktuell aufgerufene Seite anhand eines Musters überprüft (betroffen sind sowohl /post-Routen als auch /t[THREAD_ID]p[POST_OFFSET]-[THREADNAME]-Routen).
Es wird ein "Speicherschlüssel" berechnet, um pro Thread (beim Verfassen einer Antwort) bzw. pro Forum (beim Erstellen eines Threads) jeweils einen Post zwischenspeichern zu können. (Bspw. wäre beim Erstellen dieses Threads der Speicherschlüssel wrpg-autodraft-f146, da die ID des "Verbesserungsvorschläge"-Unterforums 146 ist. Beim Antworten auf diesen Thread wäre es entsprechend wrpg-autodraft-t26127)
Alle 500 Millisekunden wird der Inhalt des Text-Editors im Browser gespeichert. Aus technischer Perspektive nutze ich an dieser Stelle den localStorage des Window-Objekts, der einen persistenten Speicher zwischen verschiedenen Sessions bietet (im Vergleich zum Session-Speicher, der nach dem Schließen des Tabs bzw. Browsers automatisch gelöscht wird.). Somit besteht selbst nach einem Schließen bzw. Abstürzen des Browsers die Möglichkeit, den Post wiederherzustellen.
Beim Laden einer der beiden Routen aus Schritt 1. wird geprüft, ob ein Post unter dem berechneten Speicherschlüssel existiert - und wenn ja, wird der Post automatisch wiederhergestellt.
Beim Absenden des Posts wird der Zwischenspeicher für den Thread geleert.
Hier einfach mal der bisherige Code (ohne Schritt 5.) zum Ausprobieren (Mithilfe von Tampermonkey (klick)) Ansonsten würde ich zeitnah einfach mal einen Videoclip/ein GIF anhängen, um die Funktionalität zu demonstrieren.
let timer = setInterval(() => { autosave_shit(); console.log("Saving"); }, 500);
while (parent) { if (/form/i.test(parent.nodeName)) { parent.addEventListener( 'submit', (event) => { clearTimeout(timer); window.localStorage.removeItem(storageKey); }, true ); break; }
parent = parent.parentNode; } } })();
Und nochmal als GitHub-Gist, wenn hier jemand Syntax-Highlighting toll findet: https://gist.github.com/archanyhm/4d41a13f2e6921cfd514cc00cef4afa2
--- TLDR: Ich habe eine Möglichkeit gefunden, Posts automatisch zwischenzuspeichern, damit sie beim Schließen (oder Abstürzen) des Tabs/Browsers nicht verloren gehen. ---
Mit freundlichsten Grüßen Phil
Zuletzt von Il'gynoth am So 14 Mai 2023, 10:17 bearbeitet; insgesamt 2-mal bearbeitet
Anon Moderation
Halloween 2023
Teilnahme Halloween Event 2023
Ehren-EVT
Auszeichnung für die Ehren-Mitglieder des EVT 2023
COTM August 2023
Sprossenherz, Gewinner COTM August 2023
Avatar von : prynicc (da) Anzahl der Beiträge : 4611 Anmeldedatum : 15.02.13 Alter : 22
Thema: Re: Automatisches Zwischenspeichern von Posts Do 02 März 2023, 12:33
Heya!
Vielen Dank für den Vorschlag eines so nützlichen Features! Recht schnell waren wir uns im Team einig, dass dieses Feature nur Vorteile, und keine wirklichen Nachteile bringt, somit ist dieser Vorschlag offiziell angenommen!
Ich nehme an, dass du dich ohnehin bzgl der Umsetzung mit den Admins in Verbindung gesetzt hast bzw. es leicht für dich sein wird dies zu tun; daher sollte die Einführung nicht allzu kompliziert werden :3 Ich füge die Idee sofort in unsere Liste ein^^
LG Claw
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~
»You buriеd my plans and made me beliеve in something«