巧用Session Manager还原Firefox丢失会话
今天Firefox Crash之后,我的会话全部丢失了。按照以往来说,Firefox在重新启动之后或者Crash之后会有一个会话还原的页面。但今天确实没有。后来我进行Google查阅,试了很多种办法。终于找到一种非常快速方便的还原步骤。
首先简单说明下Firefox记录会话的机制,他会在每个用户的Profile下放入相应的session.js和session.bak,一般只需要用到js即可,在每次重启Firefox的时候他会去检索这些文件,然后根据里面的条目来进行自动加载。但有时候,Firefox并不会自动去加载这个文件,这个时候就需要用到我们手动加载的步骤了。
【1】首先查看自己的Profile下有没有对应的session.js,在我的Ubuntu下我的路径目录内容为(一般都以session作为名字,但也有部分叫recovery.js或者previous.js,具体可以进去打开之后查看有没有自己的tab条目)
~/.mozilla/firefox/nn63c34z.default/sessionstore-backups$
你进入到这个目录之后,查看里面后缀为js或者bak的文件,我找到了一个叫previous.js的文件,里面确实记录了我上百条tab的记录。
{"windows":[{"tabs":[{"entries":[{"url":"http://www.cnblogs.com/rickyk/","title":"","ID":,"docshellID":,"referrer":"http://64.233.183.163/url?sa=t&rct=j&q=site%3Ablog.rickyk.com%20%20git&source=web&cd=14&ved=0CCwQFjADOAo&url=%68%74%74%70%3a%2f%2f%62%6c%6f%67%2e%6a%6f%62%62%6f%6c%65%2e%63%6f%6d%2f%35%34%31%38%34%2f&ei=Z-1WVOnxA4OayQTJtYHABQ&usg=AFQjCNFa2cxuuZxoy0Dt97jSae7pkCVkEA&bvm=bv.78677474,d.aWw&
都是以JSON格式记录的,其中windows标记代表你有几个窗口,tab标记记录你的具体的tab页面,这个可以很容易的看出来。
【2】安装附件--Session Manager(会话管理器)
添加这个附件之后,你可以在『工具』中找到这个附件的选项,这个时候我们发现“恢复会话"是空的不能点。于是,我做了个测试,我直接点保存会话,看看此时这个插件会把文件写入到哪,并且以什么格式记录。最后发现他写在了
~/.mozilla/firefox/nn63c34z.default/sessions$ ls
backup.session
里面有一个session文件,其实同样也是JSON格式,我们打开之后,内容如下:
[SessionManager v2]
name=[ 上次浏览的会话 ]
timestamp=
autosave=false count=/1 group=备份会话 screensize=1360x768
{"windows":[{"tabs":[{"entries":[{"url":"http://www.cnblogs.com/rickyk/","title":"","ID":226624224,"docshellID":48,"referrer":"http://64.233.183.163/url?sa=t&rct=j&q=site%3Ablog.rickyk.com%20%20git&source=web&cd=14&ved=0CCwQFjADOAo&url=%68%74%74%70%3a%2f%2f%62%6c%6f%67%2e%6a%6f%62%62%6f%6c%65%2e%63%6f%6d%2f%35%34%31%38%34%2f&ei=Z-1WVOnxA4OayQTJtYHABQ&usg=AFQjCNFa2cxuuZxoy0Dt97jSae7pkCVkEA&bvm=bv.78677474,d.aWw
对比我们之前在backup里面的js文件内容,发现多了
[SessionManager v2]
name=[ 上次浏览的会话 ]
timestamp=
autosave=false count=/ group=备份会话 screensize=1360x768
我后来想如果格式相同既然都是JSON应该可以恢复我之前的会话,后来我就把之前的previou.js文件拷到了这个目录中后,用Vim打开在文件的顶端跟他一样加入了上面一句。并把后缀改成.session,尝试看下这样的格式能不能让这个插件正确读取。
这个时候我在打开工具--会话管理器--恢复会话,惊人的发现,居然有两个恢复条目,其中第一个就是之前做的测试,第二个就是我们刚才进行更改之后成功转变为session的内容。然后我们删除之后作为测试的session文件,留下真正需要恢复的条目,进行恢复。奇迹出现了,我们的会话全部都回来了。
这套办法有些注意点需要注意,首先一般Firefox Crash之后会在你个人目录下都会有session相关的js和bak文件进行保存,即使你没有正确恢复上次会话,这些文件还是有的。你必须确保文件存在,你才能进行之后的步骤。
总之,这套办法确实可以让你恢复你之前丢失的会话,我成功恢复了700多个tab,希望这篇总结能够对你有帮助:)
巧用Session Manager还原Firefox丢失会话的更多相关文章
- C# Firefox Session Manager 文件的导出与管理
长时间使用Firefox会产生很多的session文件(使用了插件:Session Manager).这些文件保存了你浏览过的所有的网址.虽然我们可以使用firefox的书签功能.但有时候打开的网址过 ...
- 使用Memcached Session Manager扩展Session管理
>>Tomcat的session管理 在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中. 然后再从request获取sessi ...
- firefox 丢失的回话
升级了新版Firefox后如果插件被禁用的,可以在Firefox配置编辑页面(about:config页面)把 xpinstall.signatures.required首选项设为false来强制禁用 ...
- Tomcat使用Memcached Session Manager管理Session
Tomcat使用Memcached Session Manager管理Session 废话不多说,直接进入主题.项目使用阿里云负载均衡+ECS服务器集群进行部署,Tomcat使用8.5版本.阿里云负载 ...
- 模仿J2EE的session机制的App后端会话信息管理
此文章只将思想,不提供具体完整实现(博主太懒,懒得整理),有疑问或想了解的可以私信或评论 背景 在传统的java web 中小型项目中,一般使用session暂存会话信息,比如登录者的身份信息等.此机 ...
- Session超时和莫名丢失的原因与处理办法
原因: 改动global.asax,Web.config,bin目录里的东西,导致Web Applicatioin重启. 有些杀毒软件会去扫描你的Web.config文件,也会导致Session丢失. ...
- Tomcat集成Memcached Session Manager方案
http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager/2.3.2/memcached-session-ma ...
- Session - 什么叫一次会话
转载自:https://blog.csdn.net/qin_xiaofang/article/details/77725946 网上收集的:Session代表服务器与浏览器的一次会话过程,这个过程是连 ...
- ORA-00019: maximum number of session licenses exceeded 超出最大会话许可数
ORA-00019: maximum number of session licenses exceededORA-00019: 超出最大会话许可数 Cause: All licenses ...
随机推荐
- 「Poetize7」电话线路
描述 每台电话都有一个独一无二的号码,用一个十位的十进制数字串表示.电话a和b之间能直接通信,当且仅当“a与b之间仅有一个数字不同”,或者“交换a的某 两位上的数字后,a与b相同”.而a.b之间建立通 ...
- POJ-1151-Atlantis(线段树+扫描线+离散化)[矩形面积并]
题意:求矩形面积并 分析:使用线段树+扫描线...因为坐标是浮点数的,因此还需要离散化! 把矩形分成两条边,上边和下边,对横轴建树,然后从下到上扫描上去,用col表示该区间有多少个下边,sum代表该区 ...
- 数据结构(树链剖分):COGS 2109. [NOIP2015] 运输计划
2109. [NOIP2015] 运输计划 ★★★ 输入文件:transport.in 输出文件:transport.out 简单对比时间限制:1 s 内存限制:256 MB [题目描 ...
- 《University Calculus》-chaper13-向量场中的积分-线积分
线积分: 基于二重积分和三重积分的引入,我们对于线积分的引入过程将会轻车熟路. 对于一根不均匀密度的铜丝,我们如何求其总质量?如下图. 类似二重积分和三重积分的引入,我们首先基于实际问题给出黎曼和的形 ...
- 西安Uber优步司机奖励政策(1月11日~1月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 纠结的CLI C++与Native C++的交互
最近在写点东西,涉及到了CLR C++与Native C++的互相调用的问题,结果...........纠结啊. 交互原型 交互原型是这样的: void* avio_alloc_context( un ...
- js dom操作获取节点的一些方法
在复习javascript基础的时候,整理了一下js中获取节点的一些常用的方法,见代码: //js获取下一个兄弟节点 function getNextSibling(eleObj){ var next ...
- oracle 32位和64位的问题
- Fragment 回退栈 传递参数,点击切换图片使用Fragment ListView
Fragment回退栈 类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化. 如果你将Fragment任务 ...
- js事件防止冒泡
原文连接:http://www.cnblogs.com/jams742003/archive/2009/08/29/1556187.html 1. 事件目标 如今.事件处理程序中的变量event保存着 ...