Wie kann ich ein Formular in Firefox wiederherstellen, * ohne * ein Plugin zu installieren? [Duplikat]

33

Mögliches Duplikat:
So stellen Sie Formularinformationen für eine Webseite in Firefox wieder her

Ich habe ein paar Absätze in ein Diskussionsforum eingegeben, aber als ich auf die Schaltfläche zum Senden geklickt habe, wurde auf der Site eine (nicht) geplante Wartung durchgeführt, und die Schaltfläche zum Zurück hat beschlossen, die Seite zu aktualisieren und meine Absätze in Vergessenheit zu geraten.

Eine schnelle Websuche ergab, dass Lazarus eine Formularwiederherstellung für Firefox bietet. Die Installation eines Plugins erfordert jedoch einen Neustart von Firefox. Auch nach dem Neustart von Firefox (was ich noch nicht getan habe) kann Lazarus keine Formulare wiederherstellen, die noch nicht gesichert wurden.

Jetzt, da das Pferd aus dem Stall ist, möchte ich das Unmögliche tun: Teile oder den gesamten eingegebenen Text wiederherstellen, ohne meinen Browser neu zu starten.


Edit : Ich sollte klarstellen. Lazarus ist eine wunderbare Lösung, um zukünftigen Formulardatenverlust vorzubeugen. Diese Frage richtet sich an Personen, die bereits von ihrer Form abgewichen sind und ihren Inhalt verloren haben, aber hoffen, dass es einen Weg gibt, die Situation zu retten. Meine Lösung bestand darin, einen Core-Dump des Prozesses zu erstellen und ihn durchzuarbeiten, aber es gibt möglicherweise eine Möglichkeit für Laien, dies zu tun (z. B. Firefox dazu zu bringen, die zwischengespeicherte Version der vorherigen Seite zu laden). Daher sind Lösungen, die das Problem in Zukunft nur lösen, ohne sich mit der Gegenwart zu befassen, in dieser Frage nicht zum Thema geworden.

Joey Adams
quelle
1
Ich denke, Sie haben Ihre eigene Frage hier beantwortet ...
John T.
2
@ John T: In der Tat. Ich erstelle gerade Google-Futter für andere mit dem gleichen Problem, aber wenn jemand bessere Vorschläge hat, sind sie sicherlich willkommen.
Joey Adams
8
Dies ist kein genaues Duplikat. Für die häufigsten Antworten auf die Frage, auf die verwiesen wird, muss ein Plugin installiert werden. Dies hilft dem Benutzer nicht, wenn er das Formular bereits verloren hat.
Joey Adams
Ich bin in die gleiche Situation geraten. Eine Lösung wäre sehr schön. Auch gegen zukünftigen Formulardatenverlust suche ich ebenfalls eine Lösung. Lazarus ist vielversprechend, aber er hat die leichte Schwäche, überhaupt nicht zu arbeiten.
Nicolas Barbulesco
1
superuser.com/questions/512669/… ist relevant und hat über die Web Developer Tools-Technik eine funktionierende Lösung für mich bereitgestellt.
pbhj

Antworten:

57

Starten Sie Ihren Browser nicht neu und drücken Sie nicht die Zurück-Taste!

Unter Linux:

Diese Lösung ist ein Volltreffer und funktioniert unter Linux. Kurz gesagt: Sichern Sie den Speicher des Firefox-Prozesses und durchsuchen Sie ihn nach Textfragmenten. Es ist hässlich, aber es ist dein letzter Ausweg.

Stellen Sie zunächst den Core mit dem gcoreDienstprogramm ab, für das gdb (der GNU-Debugger) installiert sein muss:

$ ps -e | grep firefox
 7089 ?        00:02:23 firefox
$ gcore 7089
[New Thread 0xa8ffeb70 (LWP 8924)]
[New Thread 0xb25feb70 (LWP 8531)]
[New Thread 0x9d7feb70 (LWP 8527)]
... snip ...
[New Thread 0xb5ffeb70 (LWP 7099)]
[New Thread 0xb67ffb70 (LWP 7098)]
[New Thread 0xb72f8b70 (LWP 7097)]
Saved corefile core.7089

Beachten Sie, dass ein Core-Dump möglicherweise mehrere hundert Megabyte Speicherplatz beansprucht.

Wenn es gelungen ist, können Sie jetzt aufatmen. Wenn Ihr Text zufällig im Speicher verblieben ist, wurde er im Kernspeicherauszug erfasst.

Versuchen Sie nun, sich einen Satz aus Ihrem Aufsatz zu merken (z. B. "einen tiefgreifenden Effekt"), und überprüfen Sie grep, ob er im Dokument enthalten ist:

$ grep 'a profound effect' core.7089 
Binary file core.7089 matches

Wenn Sie "Binärdatei ... Übereinstimmungen" erhalten, ist es da! Wenn nicht, probieren Sie weitere Sätze. Wenn alle Ihre grepVersuche zu einer leeren Ausgabe führen, ist Ihr Aufsatz wahrscheinlich für immer verschwunden, und Sie können nichts dagegen tun. (Sie können es versuchen grep -R 'a profound effect' ~/.mozilla, aber ich bezweifle, dass es funktionieren wird)

Angenommen, Sie erhalten eine Übereinstimmung, besteht die nächste Aufgabe darin, Teile des Core-Dumps mit dem gesuchten Text herauszuschneiden und lessvisuell zu betrachten:

$ grep -B 20 -A 20 -a 'a profound effect' core.7089 > /tmp/out
$ less /tmp/out

(Sie könnten die erste Zeile weglassen und einfach sagen less core.7089, aber ich habe festgestellt, dass die lessSpeichernutzung beim Durchsuchen einer so großen Binärdatei tendenziell zunimmt.)

Geben Sie nun Folgendes ein /a profound effect, drücken Sie die Eingabetaste, warten Sie und blättern Sie nach unten, bis Sie etwas Erkennbares sehen:

Alt-Text

Bam! Wenn Ihnen dieses Ergebnis nicht gefällt, überprüfen Sie, ob noch weitere vorhanden sind, indem Sie 'n' eingeben. Stellen Sie außerdem sicher, dass Sie den Müll Korrektur lesen, damit Sie nicht irgendwann etwas posten:

Mein Verstand wird oft Mus-Express-Ideen in dieser Sprache erzeugen.

Ich stelle mir vor, es wird so überfüllt, weil der Speicher, der Ihre Essayfragmente enthält, nicht mehr zugewiesen wird und durch nachfolgende Zuweisungen zertrampelt wird.

Unter Windows:

Die Vorgehensweise ist dieselbe. Erstellen Sie zunächst einen Core-Dump von Firefox. Dies kann im Task-Manager durchgeführt werden. In englischer Sprache lautet der Menüeintrag Create Dump File .

Den Firefox-Kern entsorgen

Das Entleeren dauert einige Sekunden.

Core-Dump-Speicherort

Verwenden Sie dann einen Hex-Editor wie http://mh-nexus.de/de/hxd/, um den Speicherauszug zu öffnen und nach dem verlorenen Text zu suchen.

HxD zum Durchsuchen des Dumps

Joey Adams
quelle
1
Arbeitete für mich unter Windows, auch nachdem der Zurück-Button gedrückt wurde. In Anbetracht der vielen vom Firefox erstellten Prozesse ist dies noch aufwändiger, aber nachdem Sie alle gespeichert und ein Tool (FAR-Manager) zum gleichzeitigen Durchsuchen mehrerer Codierungen verwendet haben, hat es funktioniert (in meinem Fall war UTF-16 Little Endian das Ergebnis).
Alexandroid
Arbeitete mit Chrom unter Linux. Musste die Seite aktualisieren, um herauszufinden, welcher Prozess die Seite durch Überwachen war htop(Chrom scheint viele Threads zu erzeugen).
Passant
1

Als erstes werden Formulare normalerweise nicht zwischengespeichert. Was auch immer Sie eingereicht haben, wird auf die Site verschoben. Wenn es gelöscht wurde, sind Sie fertig. Sie müssen es erneut eingeben.

Lazarus verwendet eine SQLite- Datenbank zum Speichern Ihrer Formulardaten (natürlich erst nach der Installation).

ps: Der Core-Dump ist ein netter Versuch, das Notwendige zu tun, aber ich frage mich, ob es einen Kosten-Aufwand-Vorteil gibt (dies wäre nützlicher als eine Spyware / Malware-Technik - nichts für ungut Joey).

nik
quelle
1
Eigentlich erwies sich die Core-Dump-Technik als einfacher als ich erwartet hatte.
Joey Adams
@Joey, es hat für dich geklappt und dann hast du es zur Lösung für dein eigenes Problem erklärt. Ich frage mich, wie gut es für alle gelingen wird, die das gleiche Problem haben - sollten sie Dinge wie Lazarus installieren oder warten, um einen Core-Dump zu bekommen und ihr Glück zu versuchen? In diesem Fall lohnt es sich, sich vor Augen zu halten, wie die beiden Dinge funktionieren.
Nik
1
Tatsächlich war die Core-Dumped-Technik für mich sehr nützlich und sehr einfach zu bewerkstelligen.
Lvella
2
Gegen künftigen Form Datenverlust, Lazarus ist vielversprechend, aber er hat die leichte Schwäche gar nicht funktioniert.
Nicolas Barbulesco