看板 Browsers 關於我們 聯絡資訊
http://wiki.moztw.org/index.php/Firefox_FAQ ▏▎▍▌▋▊ Firefox FAQ ─────────────────────────────────────── 之前說要寫,一直拖到今天才稍為有空一點。 在本文當中,我想發表對於 Firefox 瀏覽歷程記錄功能的認識。 首先對幾個名詞做解釋。 一、session 最早不知道是誰翻成「瀏覽歷程」,我覺得這個翻譯並無不妥, 所以也習慣用到現在。 session 指的是一次瀏覽的所有經過,包括各視窗底下各個分頁開啟之網頁內容, 含歷史記錄、cookie、視窗捲動位置等。 二、session restore 「恢復瀏覽歷程」 它所指的,通常是關閉 Firefox 後 (不論正常關閉或不正常關閉), 重新開啟 Firefox 時,恢復上次的瀏覽歷程。 三、session manager 「瀏覽歷程管理」 透過一個管理介面,使用者可以儲存、命名、管理、開啟一或多個瀏覽歷程。 與 session restore 相比,session restore 通常只指開啟 Firefox 時, 恢復前次歷程的動作。所以兩者指的並不相同。 最早的 Firefox 並沒有記錄瀏覽歷程的功能。而早期提供這個功能的套件, 最有名的有兩個: SessionSaver 與 Tab Browser Extension (TBE) 比較新的 Firefox 玩家可能沒聽過這兩個套件,但在 1.0 時代或更早, 它們可是赫赫有名。而如果沒有這兩個套件,現在就沒有 Firefox 的原生記錄功能, 也沒有 Tab Mix Plus。 就套件的表現來說,SessionSaver 是很成功的,它引起大家對於記錄瀏覽歷程的興趣, 更重要的是,使用者不必再擔心 Firefox 可能會當機,因為 SessionSaver, 有自動在當機後恢復歷程的功能。 但我記得 SessoinSaver 並沒有 manager 的功能,因為它的開發者 rue, 不喜歡複雜的界面與選項,他認為會混淆使用者, 我記得那時設定界面就一、兩個勾勾而已。 TBE 是最早的分頁整合套件,功能強大,現在幾乎所有和分頁有關的點子, TBE 就已經都做到了,而且全部整合在一個套件裏。很多用 TBE 的人, 就直接使用 TBE 的 session manager 功能,所以功能上也比 SessionSaver 強。 可是 Firefox 的開發團隊不喜歡 TBE…。而且 TBE 也有致命傷, 就是它很明顯拖累 Firefox。 也就是因為這個原因,大家開始用其他套件代替 TBE, 而我也陰錯陽差地寫了 Tab Mix。 我當時認為,Tab Mix 是不應該有 session 相關功能的,因為與分頁沒有明顯關連, 應該交給 session 專業的套件。 但是從 TBE 轉到 Tab Mix 的使用者,卻需要這個功能,他們習慣了 TBE。 我只好硬著頭皮,拿 Click2Tab 套件的程式,改寫了個很爛的 session saver, 只能存分頁和歷史記錄,不能存 cookie 等隱私資料。 等到輾轉多手,Tab Mix 變成 Tab Mix Plus 也就是 TMP 之後, TMP 的開發者 CPU 和 onemen,重寫了 session 相關的程式碼, 多了 manager,也可以存 cookie 了,來滿足廣大使用者的需求。 到了大約 1.5 的時代,一個新的套件出現:Session Manager。 作者是 zeniko,這個套件有 manager 的功能。不過我對它…不熟, 因為我個人並沒有 session manager 的需求。 由於 session 功能十分受到歡迎,Firefox 的開發團隊決定在 2.0 加入這項功能。 熱門套件往往是 Firefox 原生功能的推手,有時開發團隊就會取用套件程式碼做修改。 不過 SessionSaver 的程式碼,被一些開發者認為並不十分理想, 而 TBE 也是他們不喜歡的套件。 所以團隊就取用 Session Manager 的程式碼,以其為基礎進行發展, 成果就是 Firefox 2.0 版開始的 session restore。 它可以做到當機後恢復歷程,也可以經由設定,每次開啟 Firefox 都恢復歷程, 或者是僅下次開啟時恢復歷程。 但這個 Firefox 的原生程式沒有 manager 的功能。 有鑑於此,Morac 接下 Session Manager 套件的開發工作, 利用 Firefox 的原生瀏覽歷程記錄功能,做了一個管理界面。 總而言之,現在流行的 session manager 套件有兩者, 一是 Session Manager,它用的是 Firefox 的瀏覽歷程記錄核心; 二是 Tab Mix Plus,它主要用自己的記錄核心,但如果使用者需要, 也可以使用原生核心,但此時就沒有 manager 功能了。 至於兩個套件誰比較好,這是見仁見智的問題,也和使用者自己的需要有關。 我的建議是,如果只是需要當機恢復歷程,或者每次重開恢復前次歷程, 那麼都使用 Firefox 的原生記錄功能,即使有裝 TMP 也做這個設定。 因為 Firefox 已經會做而且做得很好的事,何必交給套件。 CPU 和 onemen 是很有能力的程式設計師,但說真的開發團隊的人更強, 而且團隊寫的程式碼,會顧及到許多層面,套件開發者有時只能注意到自己熟悉的部份。 如果使用者需要用到記錄管理多個瀏覽歷程,那原生程式碼就不夠用了。 這時有裝 TMP 的人,若不想再另外裝個套件,就可以直接用 TMP 的 manager; 否則用 Session Manager 也是很好的選擇,直接取用原生核心。 當然如果不用 TMP 的程式也是有缺點,比方 Firefox 的原生核心, 就沒辦法記錄到 TMP 的保護分頁或鎖定分頁。 如果使用者很在意這一點,當然就得用 TMP 的程式。 如果你注意 TMP 的相容版本號會發現,TMP 可相容於 Firefox 1.0 到 3.0pre (以上)! 很少有套件的相容版本是從 1.0 一直到 3.0 的。 為什麼,因為 Firefox 的程式碼會隨著新版本的開發而一直更動, 套件作者因應這些更動,如果要同時顧及新舊版本的 Firefox, 就會造成開發上的困難。 我認為企圖相容所有版本的 Firefox,是拖累 TMP 開發的一個原因。 否則 3.0 系統與分頁相關的程式早就定了,適用於 3.0 的正式 TMP 卻還沒出來, 還是只有開發測試版,addons 首頁也沒更新。 而 Firefox 3.0 再過三、四天就要釋出了,到時使用者更新的問題怎麼辦? Firefox 的分頁功能及程式碼,從 1.0 到 1.5 時有中幅度的調整與改寫, 1.5 到 2.0 則有大幅度改變,2.0 到 3.0 則是小幅度。 原生核心變了這麼多次,套件卻希望能一網打盡,困難度自然增加。 而 session manager 也是一樣,為了要照顧 1.0 及 1.5 系統的使用者, TMP 就必須保留自己的 session 功能程式碼。 否則 Firefox 從 2.0 開始就有自己的核心了,為什麼不直接用, 另外做個 manager 就好了呢? 萬一 3.0 以後 Firefox 做了與歷程相關內容的程式碼更動, TMP 不就得再改寫。如果 TMP 只是提供 manager,那麼問題就可以減少。 我寫這些不是要反對 TMP,TMP 是表現優秀的套件,也是能符合大眾需求的套件。 我是從自己的使用經驗、使用需求、程式解讀做分析,來評判各方優缺點。 至於該如何選擇,還是在各位自己的手上。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 86.70.113.28
awihom:首推……您還是tm的原作者啊…失敬失敬 06/14 06:30
awihom:不過,我真的不知為何,TMP裝之後FX是有明顯變快,希望原po能 06/14 06:31
awihom:出續集多分享一些心得……您是佛心來的 06/14 06:31
yolky:推!謝謝您詳細的心得分享^^ 06/14 07:55
karst10607:推,真是篇好文。不過我個人有需求是需要重啟Fx後再讀 06/14 13:20
karst10607:回最後一次或上上次的瀏覽狀態,我覺得這蠻重要的。 06/14 13:20
karst10607:Hemiola分析的很好,Fx開發團隊和TMP開發者們的顧慮不同 06/14 13:21
karst10607:好文要推到變優文 06/14 14:23
karst10607:好文要推到變優文 06/14 14:23
karst10607:好文要推到變優文 06/14 14:23
karst10607:好文要推到變優文 06/14 14:24
karst10607:好文要推到變優文 06/14 14:24
Kenqr:推! 06/14 14:39
awihom:嗯,我也覺得研發一個東西是以使用者為考量,而不是去想這東 06/14 15:32
awihom:西做起來有什麼困難……不是在講原po啦,是我剛好想到這句話 06/14 15:33
Hemiola:如果需要重啟Fx讀回上次狀態,只要到工具、選項、主要 06/14 15:39
Hemiola:啟動、當Fx啟動時,顯示上次瀏覽的分頁就可以了,不用套件 06/14 15:39
awihom:但我舉個例子,不知原生版的有沒有,就是我這次忽然想到瀏覽 06/14 16:58
awihom:上次關閉前的網頁,我用TMP裡可以直接選擇.如果是原生版的, 06/14 16:58
awihom:是不是如果一開始沒按恢復,之後要想再恢復也無法呢? 06/14 16:59
awihom:這個問題純粹是我這兩天在寫東西,想到之前網頁有看到,回頭 06/14 17:00
awihom:想再找上次關閉前存下來的分頁……結果TMP幸好有存… 06/14 17:00
emethxyz:歷史紀錄的下拉式選單就有了 06/14 17:01
emethxyz:FX3直接翻紀錄其實也可以 它這方面的功能變得很方便了 06/14 17:01
Hemiola:如果重開後不是直接恢復,那就只能去 history 找了 06/14 17:48
Hemiola:但表單之類的內容可能就找不回來 06/14 17:49
awihom:謝謝原po;所以我想還是依個人習慣來選用是比較好的吧… 06/14 18:06
awihom:另推一下FX3的tag+bookmarks搜尋,我覺得滿讚的 06/14 18:06
awihom:另,翻紀錄其實也是個方式,特別是有依時間排序過後 06/14 18:07
BDmaple:看到熱血、無私付出的工程師推一下!! 06/15 01:13
chris:哇哇!原來tab mix的作者是你呀!太感謝你嚕!!好用耶! 06/15 08:14
chris:這篇文章裡提到的套件我都用過… XDDDDD 06/15 08:14
chris:雖然當時很多人批tbe,但我還是執迷不悟地一直用他,直到出 06/15 08:15
chris:現你寫的tab mix說…… XD 06/15 08:15
chris:那個,改用session manager後,異常當掉後的記錄,還沒有被 06/19 21:38
chris:成功救回最近一筆的記錄… =___=|| 有啟用異常回復了。 06/19 21:38
chris:所以目前還是只能覺得tmp的比較好……心得回報完畢…。 06/19 21:39
knight00931:朝聖!!!!!!!!!!!請加油 XD 10/31 22:10