[-Fx-] 我對瀏覽歷程記錄功能的認識
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
推
06/14 06:30, , 1F
06/14 06:30, 1F
→
06/14 06:31, , 2F
06/14 06:31, 2F
→
06/14 06:31, , 3F
06/14 06:31, 3F
推
06/14 07:55, , 4F
06/14 07:55, 4F
推
06/14 13:20, , 5F
06/14 13:20, 5F
推
06/14 13:20, , 6F
06/14 13:20, 6F
推
06/14 13:21, , 7F
06/14 13:21, 7F
推
06/14 14:23, , 8F
06/14 14:23, 8F
推
06/14 14:23, , 9F
06/14 14:23, 9F
推
06/14 14:23, , 10F
06/14 14:23, 10F
推
06/14 14:24, , 11F
06/14 14:24, 11F
推
06/14 14:24, , 12F
06/14 14:24, 12F
推
06/14 14:39, , 13F
06/14 14:39, 13F
→
06/14 15:32, , 14F
06/14 15:32, 14F
→
06/14 15:33, , 15F
06/14 15:33, 15F
→
06/14 15:39, , 16F
06/14 15:39, 16F
→
06/14 15:39, , 17F
06/14 15:39, 17F
→
06/14 16:58, , 18F
06/14 16:58, 18F
→
06/14 16:58, , 19F
06/14 16:58, 19F
→
06/14 16:59, , 20F
06/14 16:59, 20F
→
06/14 17:00, , 21F
06/14 17:00, 21F
→
06/14 17:00, , 22F
06/14 17:00, 22F
→
06/14 17:01, , 23F
06/14 17:01, 23F
→
06/14 17:01, , 24F
06/14 17:01, 24F
→
06/14 17:48, , 25F
06/14 17:48, 25F
→
06/14 17:49, , 26F
06/14 17:49, 26F
→
06/14 18:06, , 27F
06/14 18:06, 27F
→
06/14 18:06, , 28F
06/14 18:06, 28F
→
06/14 18:07, , 29F
06/14 18:07, 29F
推
06/15 01:13, , 30F
06/15 01:13, 30F
推
06/15 08:14, , 31F
06/15 08:14, 31F
→
06/15 08:14, , 32F
06/15 08:14, 32F
→
06/15 08:15, , 33F
06/15 08:15, 33F
→
06/15 08:15, , 34F
06/15 08:15, 34F
推
06/19 21:38, , 35F
06/19 21:38, 35F
→
06/19 21:38, , 36F
06/19 21:38, 36F
→
06/19 21:39, , 37F
06/19 21:39, 37F
推
10/31 22:10, , 38F
10/31 22:10, 38F
Browsers 近期熱門文章
PTT數位生活區 即時熱門文章