我无意中关闭了 Chrome。现在我打开的所有标签页大概都消失了。在寻求帮助之前,我不想冒任何风险启动 Chrome。我担心如果我这样做,它们将永久丢失(文件被覆盖)。从过去使用 Firefox 的经验中,我知道恢复标签页和浏览器会话可能是一件棘手的事情。
此时我该怎么办?是否有文件或其他内容需要复制或重命名?我知道 Ctrl+Shift+T 命令。但我通常在浏览时使用此命令。关闭 Chrome 后此命令还能用吗?
答案1
预防意外关闭
> 我意外关闭了 Chrome。是的,遗憾的是,开发人员选择不内置提示来防止这种情况发生。您必须运行一些专门为处理此问题而编写的扩展程序,并选择一个适合您的扩展程序(不幸的是,由于 Chrome 的设计,扩展程序需要保持几个额外的进程运行才能工作)。
数据丢失预防
> 现在我打开的所有标签页大概都消失了。在寻求帮助之前,我不想冒任何风险启动 Chrome。我担心如果我这样做,它们将永久丢失(文件被覆盖)。非常聪明。您说得对,运行 Chrome 后它们很可能很快就会被清除,因为它被设计为除了当前工作副本之外只保留一组备份,因此当您启动新实例时,它会将所有内容移回并覆盖前一个实例。
从过去使用 Firefox 的经验中我知道,恢复标签和浏览器会话可能是一件棘手的事情。
使用 Chrome 也不太愉快,但我会引导您完成整个过程(我已经做过很多次了)。
会话文件
> 现在我能做什么?我需要复制或重命名某个文件或内容吗?是的,它们是您的以下四个文件用户数据目录:
Current Session
(包含当前会话中页面的表单数据)Current Tabs
(包含当前会话中选项卡的 URL 列表)Last Session
(与 相同Current Session
,但针对上一届会议)Last Tabs
(与 相同Current Tabs
,但针对上一届会议)
(请注意,此处的“会话”一词意味着从头开始启动 Chrome 的一轮。也就是说,如果您在没有任何正在chrome.exe
运行的实例时打开 Chrome(请检查任务管理器以确保无误),那么您就启动了一个会话。如果您关闭窗口中的所有选项卡,但另一个 Chrome 窗口打开了一个选项卡,则该会话仍处于活动状态,因此再次启动 Chrome 将不会是一个新的会话。同样,如果 Chrome 挂起并且您关闭了所有窗口但仍有一个chrome.exe
正在运行的副本,那么该会话仍处于活动状态,直到您将其终止。)
将这四个文件复制到某个地方,这样您就可以在不丢失任何内容的情况下工作。这样,如果出现问题,您可以随时将它们复制回来。
重新打开标签页
> 我知道 Ctrl+T 命令。但我通常在浏览时使用它。关闭 Chrome 后这个命令还能用吗?是的,在某种程度上,但是你的组合是错误的;它是Ctrl+ ⇧ Shift+ T。如果你在关闭它之前打开了多个选项卡,那么它应该重新打开所有选项卡。
(在旧版本中,出于某种原因,它只有在您首先创建一个新选项卡时才会工作。我仍然在 XP 系统上使用 Chromium 11,并且总是对这种奇怪的行为感到困惑。每当我意外关闭 Chrome 并需要恢复我的标签时,我必须先打开一个选项卡(按Ctrl+T打开新标签页最简单),然后按Ctrl+ ⇧ Shift+T才能恢复以前的选项卡。在较新的版本中(我不确定具体时间,但现在有许多版本),它无需先打开选项卡即可工作。)
现在,在您运行 Chrome 之前,我必须警告您它并不总是有效。首先,它不会在启动 Chrome 后立即工作。您必须等到 Chrome 读取用户文件并解析它们。这可能需要一些时间,您可以通过右键单击标签栏并观察重新打开已关闭的标签页上下文菜单项暂时变灰/禁用。如果您等待片刻并重复此操作,它应该会变黑(启用),然后您就可以使用它了。
但是,即使你等待一段时间,它也不会总是恢复上一个会话。有时,Chrome 会丢失上一个会话和标签,并且重新打开标签功能不起作用。我无法找出原因,也无法辨别出任何模式或原因,但似乎总是在你最需要它的时候发生这种情况。我没有做过临床实验测试,但似乎在启动 Chrome 后打开一个新标签是让 Chrome 清除上一个会话的好方法(我猜它会认为你已经完成了它并开始了一些新的事情)。
如果发生这种情况,我建议复制上面的四个文件前再次运行 Chrome。这样,如果 Chrome 心情不好并决定删除它们,您也不会丢失它们。
复制文件,然后运行 Chrome 并等待片刻,然后查看是否可以重新打开选项卡。
恢复模式
如果仍然不可用,请尝试将 Chrome 置于恢复模式:- 关闭 Chrome
- 将四个文件的备份复制回您的用户数据目录
Local State
在文本编辑器中打开该文件(它位于用户数据的父文件夹中)- 找到
exited_cleanly
条目 - 将其更改为
false
- 保存并退出
- 运行 Chrome
现在它应该显示Chrome 未正确关闭通知栏。单击[Restore]
按钮,希望它能恢复您的会话。(即使您在单击按钮之前打开了新选项卡,这也应该有效。)
如果不起作用,请尝试将Last Tabs
和Last Session
复制到用户数据目录并分别将其重命名为Current Tabs
和Current Session
。当然,即使这样做有效,您也只能获得前一个会话之前的会话,而不是崩溃的会话,但根据您的情况,这可能就足够了。
手动提取
如果这仍然不起作用,那么您可以使用字符串搜索程序(如 [Strings][3])手动从文件中提取标签(参见图)。运行该程序,将文件传递给它并将它们保存到另一个文件。大多数此类程序都需要使用命令行,但可能也有 GUI 版本(尽管我目前似乎找不到任何版本)。例如,如果您将“strings.exe”保存到“c:\foobar”并将四个文件也复制到那里,您可以按如下方式提取标签:C:\foobar>strings "current tabs" > ctabs.txt
C:\foobar>strings "last tabs" > ltabs.txt
C:\foobar>strings "current session" > csess.txt
C:\foobar>strings "last session" > lsess.txt
(我添加了额外的空格来对齐所有内容,以便清楚地了解正在发生的事情。)
现在您可以打开新的*tabs.txt
文本文件并查看之前打开的选项卡的 URL。请注意,您可能会看到很多重复的内容以及一些您已关闭的选项卡。
这些*sess.txt
文件将包含其他信息,例如您在页面上的表单中输入的文本,因此如果您打开了一个页面,其中包含您输入的大量信息,您可以恢复这些信息,这样您就不必从头开始。(例如,如果我不小心关闭了此页面,我可以恢复我此刻正在输入的文本,而不必尝试重新输入所有内容。惊恐的事件!๏_๏) 再次注意,您可能会看到重复。最糟糕的是,如果您已经输入了一段时间的内容,并且自您开始以来它已经多次更改(例如此处的文本),那么您可能会找到它的多个副本,每个副本都是不同点的快照。检查每个文件以查看哪个是具有最新更改的最新版本可能很乏味;但这仍然比从头开始要好。
未来会话管理
为了避免将来出现此类问题(并避免依赖 Chrome 才能正常工作),您可以安装 [会话管理扩展][4]。有几种可供选择,但我推荐 [Session Buddy][5]。它运行良好,功能多样,而且 Hans 乐于接受 [错误报告和功能请求][6]。(我认为他最近甚至添加了同步功能!)Session Buddy 可让您手动保存会话,但也可以自动保存会话,因此您可以轻松地从崩溃中恢复。现在我只需点击角落里的红色按钮即可发布此答案……
答案2
是的你可以!
但首先,复制%LOCALAPPDATA%\Google\Chrome\用户数据到安全的地方。
然后,启动 Chrome 并右键单击标签栏并选择重新打开已关闭的标签页。
但请不要相信我的话。我保证此方法适用于 Chrome 版本 29.0.1547.57 m。对于其他版本,请查看您的用户手册。
为了防止将来再次出现此问题,请更改 Chrome 设置。点击浏览器右上角的 Chrome 菜单按钮,然后点击设置. 在“启动时”处选择选项继续我上次停下的地方。这样,即使您有意关闭 Chrome,下次启动时它也会显示您之前打开的标签页,每次您关闭并重新启动它时都会显示。
但请注意,与 Firefox 不同,Chrome 会尝试加载每个打开的选项卡的每个网页。如果您的计算机速度较慢或打开了多个选项卡,这可能会成为问题。如果您使用的是拨号连接,这也会影响您的账单(让我们面对现实吧;并不是世界上每个互联网用户都有专用的光纤局域网连接)。
答案3
当您打开一个新的 chrome 窗口时,您要做的第一件事就是从菜单中选择“历史记录”页面。当您处于“历史记录”选项卡中时,您可以按常规操作,Ctrl+Shift+T
它会在新窗口中恢复上一个会话。
在终止浏览会话之后以及在 Linux 上使用最新版本的 chrome 和 chromium 正确关闭浏览器窗口之后,我都使用了这个功能。
这个答案显然比公认的答案简单得多,但我发现它可靠地起作用。
答案4
有一次我用 CCleaner 清理笔记本后也遇到了这种情况。我的做法比较简单,但效果不错。我进入 Chrome 历史记录,查找最近几天的条目,然后就能恢复我想要的所有标签。希望它能对未来的人有所帮助 Carlos Moura 巴西