Comment puis-je récupérer un formulaire dans Firefox * sans * installer un plugin?

Duplication possible:
Comment récupérer l'information sur le formulaire pour une page Web dans Firefox

J'ai tapé quelques paragraphes sur un forum de discussion, mais lorsque j'ai cliqué sur le bouton de soumission, le site était en cours de maintenance (non) planifiée, et le bouton de retour a décidé de rafraîchir la page en envoyant mes paragraphes dans l'oubli.

Une recherche Web rapide a révélé que Lazarus fournit une récupération de formulaire pour Firefox. Cependant, l'installation d'un plugin nécessite le redémarrage de Firefox, et même après le redémarrage de Firefox (ce que je n'ai pas encore fait), Lazarus ne peut pas récupérer les formes qu'il n'a pas encore sauvegardées.

Maintenant que le cheval est hors de la grange, je veux faire l'impossible: rétablis tout ou partie du texte que j'ai tapé, sans redémarrer mon navigateur.


Edit : Je devrais préciser. Lazarus est une solution merveilleuse pour prévenir la perte future de données de formulaire. Cette question s'adresse aux personnes qui ont déjà quitté leur forme et ont perdu leur contenu, mais espèrent qu'il existe un moyen de récupérer la situation. Ma solution était d'obtenir un virage de base du processus et de grep à travers lui, mais il pourrait y avoir un moyen de le faire pour le faire (par exemple, d'une façon ou d'une autre, Firefox charge la version en cache de la page précédente). Ainsi, les solutions qui ne résolvent que le problème à l'avenir, sans aborder le présent, sont hors sujet dans cette question.

Ne redémarrez pas votre navigateur ou appuyez sur le bouton Retour!

Sur Linux:

Cette solution est manquante et fonctionne sur Linux. En bref: vidagez la mémoire du processus de Firefox et recherchez-le pour des fragments de votre texte. C'est moche, mais c'est votre dernier recours.

Tout d'abord, dump core utilisant l'utilitaire gcore , qui nécessite gdb (le débogueur GNU) à installer:

 $ 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 

Notez qu'une décharge de base peut prendre plusieurs centaines de mégaoctets d'espace disque.

Si cela a réussi, vous pouvez maintenant soupirer de soulagement. Si votre texte persistait dans la mémoire par hasard, il a été capturé dans la mémoire de base.

Maintenant, essayez de rappeler une phrase de votre essai (par exemple, "un effet profond"), et utilisez grep pour voir si elle est présente dans le document:

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

Si vous obtenez "Fichier binaire … matches", bon, c'est là! Sinon, essayez plus de phrases. Si toutes vos tentatives de grep produisent des résultats vides, votre essai est probablement disparu pour toujours, et rien de ce que vous pouvez faire à ce sujet. (Vous pouvez essayer grep -R 'a profound effect' ~/.mozilla , mais je doute que cela fonctionne)

En supposant que vous obtenez une correspondance, la prochaine tâche consistera à découper des morceaux du déchargement de base contenant le texte que vous recherchez et à utiliser less pour le regarder visuellement:

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

(Vous pouvez omettre la première ligne et juste dire less core.7089 , mais j'ai constaté que less tendance à exploser dans l'utilisation de la mémoire lors de la recherche à travers un tel fichier binaire.)

Maintenant, tapez /a profound effect , appuyez sur Entrée, Attente et page jusqu'à ce que vous voyiez quelque chose de reconnaissable:

Texte alt

Bam! Si vous n'aimez pas ce résultat, voir s'il y en a d'autres en tapant 'n'. Aussi, assurez-vous de corriger les ordures afin que vous ne finissiez pas d'afficher:

Mon esprit générera souvent des idées expressives dans cette langue.

J'imagine que cela s'effondre comme celui-ci parce que la mémoire qui retient vos fragments d'essai n'est plus attribuée et est piétinée par des allocations subséquentes.

Sur Windows:

La procédure est la même. Tout d'abord, créez un jeton de base de Firefox. Cela peut être accompli dans le Gestionnaire des tâches. En anglais, l'entrée du menu est Créer un fichier de vidage .

Dumping the firefox core

Le dumping prend quelques secondes.

Emplacement du dumping

Ensuite, utilisez un éditeur hexadécimal comme http://mh-nexus.de/en/hxd/ pour ouvrir le vidage et rechercher le texte perdu.

HxD pour la recherche de la décharge

La première chose – les formes ne sont généralement pas mises en cache. Donc, tout ce que vous avez soumis est allé sur le site et si cela l'a laissé tomber, vous avez terminé; Vous devez le re-tapez.

Lazarus utilise un DB SQLite pour stocker vos données de formulaire (évidemment, seulement après son installation).

Ps: le core-dump est une tentative mignonne de faire le nécessaire, mais je me demande s'il y a un avantage coût-à-effort (cela serait plus utile en tant que technique de logiciel espion / malware – pas d'offense pour Joey ici) .