有没有办法恢复浏览器文本区域的内容?比如说,您输入了一个很长的帖子,然后不小心点击了一个链接。然后,当您返回时,文本字段诱人地保留了您输入的文本,但文本区域是空白的。IE 和 Firefox 将预填充的内容存储在哪里?textarea可以带回来吗?
7 回答
您可以尝试一件事(虽然我没有尝试过,所以我不能说这种方法有多有效)立即尝试在浏览器的内存空间中搜索文本 - 也许它没有被释放,甚至如果它被释放,也许它没有被其他数据覆盖。
您可以在 Windows 上执行此操作,例如使用HXD Hex Editor,它可以打开其他进程的地址空间,您可以使用它来搜索字符串。
最后一点:您还应该尝试搜索字符串的 Unicode 变体,因为浏览器完全有可能在内部将其保留为 Unicode。
有一个Greasemonkey 脚本可以自动备份 textareas,但据我所知,浏览器只是将文本存储在内存中而不将其写入磁盘。
尽管这不能解决您的问题,我只能建议扫描内存并查找文本的某些部分,但Firefox的此扩展可能可以防止将来丢失文本的情况。
https://addons.mozilla.org/en-US/firefox/addon/5761
页面描述:
当用户键入时,此扩展程序将自动将内容保存在页面上的 textarea 中。用户可以恢复缓存窗口中保存的文本,即使选项卡或窗口意外关闭。
当文本保存在缓存中时,用户将在状态栏中看到一个图标。单击该图标可打开缓存窗口。
在工具栏中添加 Textarea Cache 按钮会很有用。此按钮可以帮助用户进行高级设置或打开缓存窗口。
2014 年更新:Chrome 和 Firefox 也有一个更新的扩展:Lazarus: Form Recovery
每当我输入很长的内容时,我总是在提交表单之前将其复制到剪贴板以防万一。或者,有时我在记事本中输入它,完成后将其复制过来。这可能不是您正在寻找的答案,但它可能会有所帮助。
这部分取决于浏览器。我知道在某些情况下文本字段仍然存在。差异似乎与连接是否为 HTTPS 有关。
如果您是相关站点的开发人员,您可以定期执行某种 ajax 自动保存来帮助用户。
据我所知,它已经消失了。如果浏览器将它存放在某个地方,那么当您返回时它会将其保存在文本区域中。要解决此问题,您可以:
- 在您自己的机器上安装键盘记录器(可能是个坏主意)
- 编写一个 Firefox 插件来实际将这些数据缓存在可恢复的地方(也许我们可以问 StackOverflow 如何做到这一点。)
- 正如 VirtuosiMedia 建议的那样,将其组合到其他地方,然后在完成后将其粘贴到浏览器中。
如果您开发站点,您可以添加一个 onblur 事件来及时存储数据(ajax、cookie)并检查加载页面是否有以前输入的文本。