web-dev-qa-db-ja.com

プラグインをインストールせずにFirefoxでフォームを回復するにはどうすればよいですか?

重複の可能性:
FirefoxでWebページのフォーム情報を復元する方法

ディスカッション掲示板にいくつかの段落を入力しましたが、[送信]ボタンをクリックすると、サイトは(予定外の)メンテナンスを受けていたため、[戻る]ボタンでページを更新し、段落を忘れてしまいました。

簡単なWeb検索で、 Lazarus がFirefoxのフォームリカバリを提供することがわかりました。ただし、プラグインをインストールするには、Firefoxを再起動する必要があります。Firefoxを再起動した後(まだ行っていません)でも、Lazarusはまだバックアップしていないフォームを復元できません。

馬が納屋から出てしまったので、不可能を実行したいと思います。ブラウザを再起動せずに、入力したテキストの一部またはすべてを復元します。


編集:明確にする必要があります。 Lazarus は、futureフォームのデータ損失を防ぐための素晴らしいソリューションです。この質問は、既にフォームから移動して内容を失った人のためのものですが、状況を救う方法があることを願っています。私の解決策は、プロセスのコアダンプを取得してそれをgrepすることでしたが、それを実行する素人の方法があるかもしれません(たとえば、どういうわけかFirefoxに前のページのキャッシュバージョンをロードさせます)。したがって、現在の問題に対処せずに、将来の問題のみを解決するソリューションは、この問題ではトピックから外れています。

33
Joey Adams

ブラウザを再起動したり、戻るボタンを押したりしないでください!

Linuxの場合:

このソリューションはヒットまたはミスであり、Linuxで機能します。つまり、Firefoxプロセスのメモリをダンプして、テキストのフラグメントを検索します。それは醜いですが、それはあなたの最後の手段です。

最初に、gcoreユーティリティを使用してコアをダンプします。これには、gdb(GNUデバッガー)のインストールが必要です:

$ 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

コアダンプには数百メガバイトのディスク容量が必要になる場合があることに注意してください。

それが成功した場合は、今すぐ安堵のため息をつくことができます。テキストが偶然メモリに残っていた場合は、コアダンプにキャプチャされています。

ここで、エッセイのフレーズ(たとえば、「重大な影響」)を思い出し、grepを使用して、それがドキュメントに存在するかどうかを確認します。

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

「バイナリファイル...一致」が表示された場合、問題ありません。そうでない場合は、さらに多くのフレーズを試してください。すべてのgrep試行が空の出力を生成する場合、エッセイはおそらく永久に消えており、それについてあなたができることは何もありません。 (あなたが試すことができます grep -R 'a profound effect' ~/.mozilla、しかしそれがうまくいくとは思えません)

一致する場合、次のタスクは、探しているテキストを含むコアダンプの断片を切り出し、lessを使用して視覚的に確認することです。

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

(最初の行を省略してless core.7089ですが、そのような大きなバイナリファイルを検索すると、lessはメモリ使用量が増える傾向があることを発見しました。

次に、/a profound effect、Enterキーを押し、待機し、認識可能な何かが表示されるまでページ送りします。

alt text

Bam!この結果が気に入らない場合は、「n」を入力して他に結果がないか確認してください。また、投稿を終えないように、ゴミを校正してください。

私の心はその言語でマッシュな表現のアイデアをしばしば生成します。

あなたのエッセイの断片を保持しているメモリがもはや割り当てられず、その後の割り当てによって踏みにじられるので、私はそれがこのように破壊されると思います。

Windowsの場合:

手順は同じです。まず、Firefoxのコアダンプを作成します。これはタスクマネージャで実行できます。英語では、メニューエントリはCreate Dump Fileです。

Dumping the firefox core

ダンプには数秒かかります。

Core dump location

次に、http://mh-nexus.de/en/hxd/のような16進エディターを使用してダンプを開き、失われたテキストを検索します。

HxD for searching the dump

57
Joey Adams

最初に、フォームは通常キャッシュされません。だから、あなたが提出したものはすべてサイトに送られ、それがドロップした場合は完了です。再入力する必要があります。

Lazarusa SQLite DB to store your form data を使用します(もちろん、インストール後のみ)。

pS:コアダンプは必要なことをするためのかわいい試みですが、それに費用対効果のメリットがあるかどうか疑問に思います(これはスパイウェア/マルウェアのテクニックとしてより有用でしょう-Joey here)。

1
nik