作者Hemiola ()
看板Browsers
标题[-Fx-] 我对浏览历程记录功能的认识
时间Sat Jun 14 06:23:19 2008
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
1F:推 awihom:首推……您还是tm的原作者啊…失敬失敬 06/14 06:30
2F:→ awihom:不过,我真的不知为何,TMP装之後FX是有明显变快,希望原po能 06/14 06:31
3F:→ awihom:出续集多分享一些心得……您是佛心来的 06/14 06:31
4F:推 yolky:推!谢谢您详细的心得分享^^ 06/14 07:55
5F:推 karst10607:推,真是篇好文。不过我个人有需求是需要重启Fx後再读 06/14 13:20
6F:推 karst10607:回最後一次或上上次的浏览状态,我觉得这蛮重要的。 06/14 13:20
7F:推 karst10607:Hemiola分析的很好,Fx开发团队和TMP开发者们的顾虑不同 06/14 13:21
8F:推 karst10607:好文要推到变优文 06/14 14:23
9F:推 karst10607:好文要推到变优文 06/14 14:23
10F:推 karst10607:好文要推到变优文 06/14 14:23
11F:推 karst10607:好文要推到变优文 06/14 14:24
12F:推 karst10607:好文要推到变优文 06/14 14:24
13F:推 Kenqr:推! 06/14 14:39
14F:→ awihom:嗯,我也觉得研发一个东西是以使用者为考量,而不是去想这东 06/14 15:32
15F:→ awihom:西做起来有什麽困难……不是在讲原po啦,是我刚好想到这句话 06/14 15:33
16F:→ Hemiola:如果需要重启Fx读回上次状态,只要到工具、选项、主要 06/14 15:39
17F:→ Hemiola:启动、当Fx启动时,显示上次浏览的分页就可以了,不用套件 06/14 15:39
18F:→ awihom:但我举个例子,不知原生版的有没有,就是我这次忽然想到浏览 06/14 16:58
19F:→ awihom:上次关闭前的网页,我用TMP里可以直接选择.如果是原生版的, 06/14 16:58
20F:→ awihom:是不是如果一开始没按恢复,之後要想再恢复也无法呢? 06/14 16:59
21F:→ awihom:这个问题纯粹是我这两天在写东西,想到之前网页有看到,回头 06/14 17:00
22F:→ awihom:想再找上次关闭前存下来的分页……结果TMP幸好有存… 06/14 17:00
23F:→ emethxyz:历史纪录的下拉式选单就有了 06/14 17:01
24F:→ emethxyz:FX3直接翻纪录其实也可以 它这方面的功能变得很方便了 06/14 17:01
25F:→ Hemiola:如果重开後不是直接恢复,那就只能去 history 找了 06/14 17:48
26F:→ Hemiola:但表单之类的内容可能就找不回来 06/14 17:49
27F:→ awihom:谢谢原po;所以我想还是依个人习惯来选用是比较好的吧… 06/14 18:06
28F:→ awihom:另推一下FX3的tag+bookmarks搜寻,我觉得满赞的 06/14 18:06
29F:→ awihom:另,翻纪录其实也是个方式,特别是有依时间排序过後 06/14 18:07
30F:推 BDmaple:看到热血、无私付出的工程师推一下!! 06/15 01:13
31F:推 chris:哇哇!原来tab mix的作者是你呀!太感谢你噜!!好用耶! 06/15 08:14
32F:→ chris:这篇文章里提到的套件我都用过… XDDDDD 06/15 08:14
33F:→ chris:虽然当时很多人批tbe,但我还是执迷不悟地一直用他,直到出 06/15 08:15
34F:→ chris:现你写的tab mix说…… XD 06/15 08:15
35F:推 chris:那个,改用session manager後,异常当掉後的记录,还没有被 06/19 21:38
36F:→ chris:成功救回最近一笔的记录… =___=|| 有启用异常回复了。 06/19 21:38
37F:→ chris:所以目前还是只能觉得tmp的比较好……心得回报完毕…。 06/19 21:39
38F:推 knight00931:朝圣!!!!!!!!!!!请加油 XD 10/31 22:10