恢复浏览器文本区域
有没有一种方法可以恢复浏览器文本区域的内容?假设我们输入了很长的帖子,然后不小心点击了链接。然后,当我们返回时,文本字段会诱人地保留我们键入的文本,但文本区域为空白。 IE和Firefox在哪里存储预先填充的内容?可以将textareas带回来吗?
解决方案
每当我输入很长的内容时,我总是在提交表单之前将其复制到剪贴板,以防万一。或者,有时我在记事本中键入它,并在完成后将其复制过来。那可能不是我们要找的答案,但可能会有所帮助。
这部分取决于浏览器。我知道在某些情况下文本字段仍然存在。区别似乎与连接是否为HTTPS有关。
如果我们是该站点的开发人员,则可以定期进行某种Ajax自动保存以帮助用户。
有一个Greasemonkey脚本可以自动备份文本区域,但是据我所知,浏览器只是将文本存储在内存中,而不是将其写入磁盘。
据我所知,它已经消失了。如果浏览器藏在某个地方,当我们返回时,它将保留在文本区域中。要变通解决此问题,我们可以:
- 在自己的计算机上安装键盘记录程序(可能是个坏主意)
- 编写一个Firefox插件以将这些数据实际缓存在可恢复的位置(也许我们可以问StackOverflow如何做到这一点。)
- 正如VirtuosiMedia建议的那样,将其组合在其他位置,然后在完成后将其粘贴到浏览器中。
我们可以尝试做一件事(尽管我还没有尝试过,所以我不能说这种方法的有效性),然后立即尝试在浏览器的内存空间中搜索文本,也许它没有被释放,它已被释放,也许没有被其他数据覆盖。
例如,可以在Windows上使用HXD十六进制编辑器执行此操作,该编辑器可以打开其他进程的地址空间,并可以用来搜索字符串。
最后一点:我们还应该尝试搜索字符串的Unicode变体,因为浏览器完全有可能将其内部保留为Unicode。
如果我们开发站点,则可以添加一个onblur事件来及时存储数据(ajax,cookie),并检查加载页面时是否存在先前键入的文本。
虽然这不能解决问题,但是我只能建议我们扫描内存并查找文本的某些部分,但是Firefox的扩展名可以防止将来丢失文本。
https://addons.mozilla.org/zh-CN/firefox/addon/5761
页面描述:
This extension will save automatically the content in textarea on pages when user is typing. User can recover the saved texts in the cache window, even the tab or the window is closed unexpectedly. The user will see an icon in status bar when the text is saved in the cache. Clicking the icon to open the cache window. It would be useful to add the Textarea Cache button in toolbar. This button can help the user for advanced settings or to opening the cache window.
2014年更新:还为Chrome和Firefox提供了一个较新的扩展程序:Lazarus:表单恢复