我刚刚花了很多时间用 Firefox 编写了一个 wiki 页面,提交后 VPN 失败,提交丢失。返回浏览器后,我发现我的编辑丢失了。
有什么方法可以恢复这些编辑吗?磁盘上有缓存文件吗(我已经 grep 了 ~/Library/Caches/Firefox/Profiles/)?我可以诱使 Firefox 重新提交吗?
我见过这个问题寻找将来防止此类情况发生的方法,我通常使用“It's All Text!”来避免此问题,但我想恢复此特定的丢失编辑。
答案1
不要更改该选项卡中的任何内容。点击“前进”返回连接错误页面,修复网络问题,然后点击“重试”。这将提交原始帖子。
答案2
对于那些在 Firefox UI 中找不到路径的人,在这个答案中,我将尝试逐步详细说明用户“sh1”建议的操作,在我的案例中,这导致了成功的恢复。
首先,停留在之前您未成功点击提交按钮时看到的“超时警告/错误”页面,不要尝试与网站进行其他交互。也许不是绝对必要的,但确实更安全(需要更多实验来澄清)。
免责声明:我使用的是意大利语版本的 Firefox,因此我不确定某些命令的详细翻译是否正确。无论如何,步骤如下:
- 按照用户“sh1”的告知,通过“工具”(“strumenti”)菜单,进入“网络开发工具”(“strumenti di sviuppo web”)的“网络”(“rete”)部分。
- 在 Web 开发工具窗口的空白处单击鼠标右键,并选择“开始性能分析”(“inizia analisi prestazioni”);FF 将建议您重新传输问题发生前实际发送的相同数据(目前,抱歉,我不确定这是否与简单地从这里重新加载页面所触发的操作过程相同)。
- 显然,此时您仍然会被困在错误页面,但这一次 Firefox 已经跟踪了它尝试重新发送的所有数据;您将看到从服务器提取的请求列表和页面元素。
- 在列表顶部,左键单击选择 POST 请求;窗口将拆分
- 在右侧窗格中,单击“编辑并重新发送”按钮(“Modifica e reinvia”);这将显示另一个视图,其中......
- ...在“请求正文”(“corpo della richiesta”)框架中,您会发现,其中仅散布着几个 MIME 标头,以及可复制的纯文本形式的宝贵提交内容 :)
我成功地使用 Firefox 内置工具恢复了表单数据。除此之外,仅出于推测,在我的案例中,核心转储是不可行的。那是因为我没有更改适当的静态系统默认值(这些默认值需要事先设置;请参阅http://bencane.com/2011/09/22/kill-creating-a-core-dump/;在我这次使用的发行版 - 最新的 Xubuntu - 默认设置组合似乎是“无核心转储”)。
干杯
答案3
扩展 Schwern 的答案,因为就我而言,我无法修复该错误:
再次进入失败屏幕。在菜单中选择 Web 开发人员、网络,然后选择“标题”选项卡,然后点击“重新发送”按钮。
这应该会显示一个包含您丢失内容的表单(以便您可以随意修改)。它可能不是最方便的格式,但至少它在那里。
至少对我来说是有效的。我当时坐在这里,看到可怕的“你的帖子掉进坑里了”屏幕,当我点击“返回”时,我回到了某个 JavaScript,它将表单重置为空白(感谢 Javascript!)。
需要注意的是,前进意味着点击后退按钮旁边的按钮。如果你回到表单并发现内容丢失,请不要触碰页面上可能尝试发送新清空内容的任何内容,因为那时你唯一的选择就是翻阅核心转储但没有成功的保证。
答案4
网络浏览器肯定有内存中的表单数据。难点在于:如何检索这些数据?
这是我的想法。我还没有尝试过。纸上谈兵,它起作用了。此答案适用于 Firefox 和其他 Web 浏览器。
简而言之 :重新加载页面,同时检查标题。
- 设置机器。我们需要一种机器来检查从 Web 浏览器发送的 HTTP 流量。
- 最好的选择是扩展 LiveHTTPHeaders对于 Firefox。但我认为安装此扩展需要重新启动 Firefox。当然,不要重新启动 Firefox!如果能够在不重新启动 Firefox 的情况下安装此机器,那就太好了。否则,您只需要事先安装此扩展。如果需要,只需使用时间机器。 ;-)
- 如果您无法在 Web 浏览器中准备好机器,还有另一种选择。此选项更繁琐。但它的强大之处在于它适用于所有 Web 浏览器,并且无需重新启动它们。在您的机器上安装一个简单的 Web 服务器,或设置一个代理服务器(如 Squid)。确保您的服务器记录入站流量,并带有完整的标头。并在操作系统中设置一条规则,将所有出站请求重定向到
127.0.0.1
。这可以通过文件来完成hosts
。
- 测试机器。在您的 Web 浏览器中创建一个新窗口。在这里写一些维基百科文本,然后单击预览。然后验证您是否可以在机器上看到您写的文本。如果您的机器是服务器选项,则必须关闭重定向规则(在操作系统中)以加载维基百科表单,然后再将其打开。
- 要重新加载页面,请右键单击表单所在的位置,然后选择重新加载。这很重要。在某些网页邮件中,这将仅重新加载表单所在的框架。在这里,我们希望尽可能少地重新加载。如果您单击按钮 重新加载在地址栏或按钮栏中,或者如果您按 Apple R,则可能会重新加载整个页面,并且在某些网络邮件中,这会让您陷入困境。
- 通常,Web 浏览器会询问您:您想再次发送表单数据吗?如果您有这个问题,这是一个好兆头。选择重新发送。
- 检查发送的 POST 数据,使用在步骤 1 中设置的机器。在这里您将找到您想要的数据。
- 请来这里告诉我们这个解决方案是否有效!