巧用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":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&

   都是以JSON格式記錄的,其中windows標記代表你有幾個窗口,tab標記記錄你的具體的tab頁面,這個可以很容易的看出來。

    【2】安裝附件--Session Manager(會話管理器)

    添加這個附件之后,你可以在『工具』中找到這個附件的選項,這個時候我們發現“恢復會話"是空的不能點。於是,我做了個測試,我直接點保存會話,看看此時這個插件會把文件寫入到哪,並且以什么格式記錄。最后發現他寫在了

~/.mozilla/firefox/nn63c34z.default/sessions$ ls
backup.session

    里面有一個session文件,其實同樣也是JSON格式,我們打開之后,內容如下:

[SessionManager v2]
name=[ 上次瀏覽的會話 ]
timestamp=1417656557816
autosave=false  count=1/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=1417656557816
autosave=false  count=1/1     group=備份會話  screensize=1360x768

    我后來想如果格式相同既然都是JSON應該可以恢復我之前的會話,后來我就把之前的previou.js文件拷到了這個目錄中后,用Vim打開在文件的頂端跟他一樣加入了上面一句。並把后綴改成.session,嘗試看下這樣的格式能不能讓這個插件正確讀取。

    這個時候我在打開工具--會話管理器--恢復會話,驚人的發現,居然有兩個恢復條目,其中第一個就是之前做的測試,第二個就是我們剛才進行更改之后成功轉變為session的內容。然后我們刪除之后作為測試的session文件,留下真正需要恢復的條目,進行恢復。奇跡出現了,我們的會話全部都回來了。

    這套辦法有些注意點需要注意,首先一般Firefox Crash之后會在你個人目錄下都會有session相關的js和bak文件進行保存,即使你沒有正確恢復上次會話,這些文件還是有的。你必須確保文件存在,你才能進行之后的步驟。

    總之,這套辦法確實可以讓你恢復你之前丟失的會話,我成功恢復了700多個tab,希望這篇總結能夠對你有幫助:)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM