便携版Firefox制作全教程(2)——扩展和插件

    第一篇教程我已经介绍了Firefox主程序的选择和处理,这次我要讲的是Firefox的扩展和插件。扩展和插件是不一样的,扩展是指Adblock Plus、Download Statusbar等用于提升用户体验的组件;而插件则是Flash、WMP等能扩充Firefox的底层功能的组件。

    在便携版Firefox的制作中,扩展和插件的集成是相当重要的一个环节,甚至有些做得粗糙的便携版Firefox就是原版集成几个扩展及插件而已。我有时候也会下载别人做的便携版Firefox,但几乎每次总能看到塞得满满的扩展文件夹和插件文件夹,每次看到这里我就会直接把那个版本删了,因为从这儿我就可以看出这个版本根本没有任何借鉴价值,这个便携版的作者也没有用心的在做Firefox。Firefox的扩展和插件是很多的,这是他的优势,但也会带来一些负面的影响。安装过多的扩展和插件会影响到程序的启动和运行速度,增加资源占用。碰到制作不规范的甚至会导致Firefox的崩溃,所以对于扩展和插件我们应抱着能不装则不装的心态来对待。

    以现在流行的Firefox3为例,就是有很多人喜欢装Fasterfox这个扩展,这个扩展官方就没有提供对Firefox3的支持,但很多网友就是修改也要让这个扩展强行支持Firefox3。其实在Mozilla的论坛上早有讨论了,这个扩展在有限提升性能的同时会带来不少兼容性问题,在Firefox2下尚是如此,Firefox3下其实这个扩展根本发挥不了任何作用,他也只是修改了Firefox的配置文件中的几个参数而已,那么我们还不如手工修改来的好。还有迅雷官方的扩展,那个扩展是为Firefox2准备的,经过修改虽然能在Firefox3下使用但会造成一些菜单项的失效。尽管有网友的修改版解决了这些问题,但安装一个通用的FlashGot不是更好吗?有人说用FlashGot右键没有下载项,不方便。那么,看图:

    在FlashGot选项里勾上“在右键菜单中显示”就可以了。而且FlashGot不仅支持迅雷,还支持快车等多数主流下载软件,最新版本还加上了媒体探测功能,我实在想不出使用迅雷官方扩展的理由。

    Firefox的版本更新永远是走在扩展的版本更新之前的,下面我来说下让原本不支持新版本Firefox的扩展支持新版本的方法,总体来说有三种:
1、安装Nightly Tester Tools这个扩展,安装了这个扩展后就能安装原本不支持的扩展了。

2、在地址栏输入about:config,运行后新建两个布尔值,名字分别为extensions.checkCompatibility和extensions.checkUpdateSecurity,值都为false。

3、第三种方法是直接修改扩展,也是我最推崇的一种方法。把下载下来的扩展的后缀名从xpi改到zip,然后用任意解压软件解压到一个文件夹里,用记事本打开install.rdf,把maxVersion后的版本号改成3.1.*。就是说支持到Firefox3.1的所有版本,当然,也可以设的更大一点。然后选定所有解压出来的文件和文件夹,压缩成一个zip文件,最后把后缀从zip改到xpi,再安装就可以了。

    再来说下扩展的精简:一般一个扩展下载下来里面都包含多国语言的,而我们最多用到英简繁三种,所以我们也只需要保留这三种即可。
1、把下载下来的扩展的后缀从xpi改为zip,然后用压缩软件解压到一个文件夹,诸如扩展的文件名是download_statusbar-0.9.6.3-fx,则解压到名为download_statusbar-0.9.6.3-fx的文件夹中,打开这个文件夹,找到chrome.manifest的文件,用记事本打开这个文件,找到locale开头的几行,然后把除en-US、zh-CN和zh-TW的其他行删掉。

2、进入名为chrome的文件夹,这时候有两种情况:

(1)、进入后全是文件夹,则进入名为local的文件夹,删除除en-US、zh-CN和zh-TW的其他文件夹。

(2)、进入后只有一个后缀为jar的文件,则把这个文件的后缀改成zip,然后解压到一个文件夹,进入这个文件夹,一般见到的是这样的视图:

进入local文件夹,删除除en-US、zh-CN和zh-TW的其他文件夹。然后把以上几个文件夹选定后压缩为一个zip文件,再把后缀改成jar。确保新生成的jar文件和原始jar文件文件名一样,然后用新的jar文件替换旧的jar文件,再把由原始文件解压而得的文件夹删除即可。

3、选定由扩展解压后的目录中的所有文件,压缩为一个zip包,最后把后缀的zip改为xpi即可,所得即为一个精简版的扩展。

还有问题更多的插件,绝大多数便携版或者绿色版的Firefox中都会集成一大堆的插件,什么Java、QuickTime、SilverLight、 Office03/07和PDF等等等等,但他们真的测试过这些插件吗?他们知道这些插件在什么情况下能工作吗?

Java,其实根本没必要安装插件,你系 统里装了Java RunTime的话Firefox自己会找到相应的插件,自己装的甚至反而可能出现版本对不上的情况,没装的话就算你装了插件也没用,只是一个占了茅坑不 拉SHI的家伙;

QuickTime的插件很多,有6~7个,但绝大多数需要系统里装有QuickTime才会生效,而且绝大多数插件的功能是在线播放一 些格式比较特殊的音视频,诸如3gp、mov等,还会强制接管mp3等文件的默认操作(点个MP3下载链接他不下载反而在线播放 了);

SilverLight,至少我测试在最新版的Firefox中还无效,而且网络上用到SilverLight的机会实在太少了;

Office系 列,系统里有没有装MS的Office我们先不论,但你知道用户装的是03还是07吗(03和07的插件不一样的)?你有必要在Firefox中打开一个 Word文档或者PPT文档吗?

PDF,集成的人也很多,但你知道这个插件需要系统里安装了Adobe Reader才有效吗?这个几百兆的庞然大物我可不想装。

RealPlayer,这个装的人也很多,不过它和Java一样,只要系统里装了Real解码器,Firefox就能自动找到相应的插件,否则装了也没用。

    所以,就我个人感觉,插件我们只需要安装Flash:NPSWF32.dll、ShockWave:np32dsw.dll(可选)、WindowsMediaPlayer:npdsplay.dll、QuickTime插件中的npqtplugin6.dll(用来支持JPEG2000图片格式,无须安装QuickTime,可选)、WPF:NPWPF.dll(用于支持微软最新的WPF图形格式,可选)。

    还是那句话,扩展和插件宜精不宜多,如果制作的精简版是要发布给网友分享的,那更应该注意每个扩展及插件的测试。

  • quote 1.fanren
  • 能不能弄个thunderbird的便携器啊
    fonlan 于 2008-9-28 10:15:46 回复
    PortableSoftware有出过,Thunderbird我不用的,所以也不太了解。
  • 2008-9-28 9:05:37 回复该留言
  • quote 2.milan
  • np-mswmp.dll
    windows media player 的 plugin 不是这个么
    fonlan 于 2008-10-7 17:17:16 回复
    这个是在Vista中使用的,不过npdsplay.dll试了下在Vista下也能使用,目前还不太确定这两个到底有什么区别。
    milan 于 2008-10-7 18:14:44 回复
    是不是一个是wmp11的,一个是以前wmp9/10时代的
    fonlan 于 2008-10-10 22:16:42 回复
    嗯,理论上是这样
  • 2008-10-7 14:58:14 回复该留言
  • quote 3.paopao
  • 可以做一个seamonkey的便携器吗
    fonlan 于 2008-10-10 22:16:52 回复
    暂时不考虑
  • 2008-10-10 21:50:13 回复该留言
  • quote 4.熊猫
  • 楼主最近懒了,这么久还不更新教程....Smile
    fonlan 于 2008-10-27 22:58:23 回复
    最近一直比较忙,抱歉啊

    由 fonlan 于 2008-10-27 22:58:42 最后编辑
  • 2008-10-27 22:50:29 回复该留言
  • quote 5.路过
  • 本来还在鄙视你那些什么删除local的小农做法,后来发现我4M的extension占了28M空间我服了。。。。
    小文件太多产生了巨量的文件碎片,导致占据空间和实际体积不是一个数量级,用你的方法后,大约削减了75%的空间占据。
    高手,拜个
  • 2008-12-4 20:02:53 回复该留言
  • quote 6.udbippl
  • 你的这个3.04的火狐便携版怎么不能升级?请问如何解决?
  • 2009-4-8 17:07:18 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Copyright © 2008 www.fonlan.cn All Rights Reserved [浙ICP备08107007号]

本站点由 Z-Blog 1.8 Walle Build 91204 构建,基于 Glued Ideas Subtle 主题,由 zx.asd 移植并创新.