firefox定制文章
来源:互联网 发布:算法 第4版 豆瓣 编辑:程序博客网 时间:2024/05/16 15:01
制作Windows下的Portable Firefox
虽然 PortableApps 提供的 Firefox 便携版已经很好用,不过有些时候还是会需要按自己的特殊需求制作更为个性化的绿色版本。比如把某个富客户端的内部系统用Firefox包装成一个压缩包让那些只知道马桶套套的用户解压使用就会比说服他们安装Firefox浏览器并做各种配置来得有效,同时可以得到比IE快N次方倍的访问效果。
当然其实 Firefox 本身的运行机制就已经相当绿色了。通过 -profile "<path>" 参数可以指定Firefox启动使用的个人配置文件目录,通过 -no-remote 参数可以允许同时运行多个Firefox进程实例;[1] 启动时使用这两个参数就已经能够保证 Firefox 不与系统其他程序发生冲突。
所以Portable第一步,把整个 Firefox 安装目录复制一份,然后把自己现有的profile目录(缺省情况下Firefox Profile 在 Documents and Settings\[当前登录用户名]\Application Data\Mozilla\Firefox\Profiles\随机目录名 中)覆盖到defaults\profile 子目录。然后在主目录建一个简单的批处理文件:
firefox -no-remote -profile defaults\profile
运行该批处理即可启动。如果嫌批处理的命令行窗口难看的话,可以考虑安装一个 AutoHotKey ,利用该程序附带的 ahk2exe 工具编写启动脚本并编译成可执行的EXE文件。ahk 脚本文件的语法很简单,参考官方的help文档即可。个人比较喜欢把整个复制出来的Firefox目录作为子目录并设置成隐藏属性,然后在主目录下就只剩下一个由 ahk2exe 编译出来的引导程序,看上去会比较干净。ahk脚本如下:
Run, %A_ScriptDir%\Firefox\firefox -no-remote -profile defaults\profile, %A_ScriptDir%\Firefox\, Max
ExitApp
然后用 ahk2exe 指定源 ahk 和 目标 exe (同时还可以给你的目标 exe 配一个个性化的图标文件),进行转换即可。
当然直接拷出来的Firefox和profile目录会有很多并不一定需要的文件内容。
其中必须删除的文件:
defaults\profile 目录下 ->
compatibility.ini
extensions.cache
extensions.ini
pluginreg.dat
XPC.mfl
xpti.dat
XUL.mfl
这些文件在firefox运行的时候会自动根据当前目录进行生成。如果不删除的话当打包到其他电脑之后解压缩到与之前不一样的目录的话就会出现扩展、插件无法正常加载等异常。
可以选择性删除的:
主目录下的 ->
目录
searchplugins 搜索引擎插件,如果不想显示搜索工具栏的话这个目录就不需要
uninstall 卸载目录,都绿色了也就不需要它了
updates 更新目录,做成绿色了一般要把自动更新关闭,这个目录也不需要
文件
browserconfig.properties
install.log
LICENSE
old-homepage-default.properties
update.locale
updater.exe
updater.ini
defaults\profile 子目录下的 ->
bookmarks.html
compreg.dat
content-prefs.sqlite
cookies.sqlite
cookies.sqlite-journal
downloads.sqlite
formhistory.sqlite
places.sqlite
places.sqlite-journal
search.json
search.sqlite
signons.sqlite
urlclassifier3.sqlite
目录
bookmarkbackups
Cache 缓存目录,完全可以删掉,不然文件会比较大
minidumps
这些文件基本上是个人访问相关的历史数据,如果不需要的话都可以删除(尤其当有些历史数据会非常大的时候)。当要生成一个不保存访问隐私数据的便携版时那些 .sqlite 之类的都能删掉,如果是给自己用的话根据需要来选择保留那些历史数据。
同样,可以把这些删除多余内容的操作也写成 ahk 脚本来自动执行,这样每次重新发布新版本的时候清理起来就比较方便。比如:
FileDelete, %A_ScriptDir%\defaults\profile\compatibility.ini
FileDelete, %A_ScriptDir%\defaults\profile\extensions.cache
FileDelete, %A_ScriptDir%\defaults\profile\extensions.ini
FileDelete, %A_ScriptDir%\defaults\profile\pluginreg.dat
FileDelete, %A_ScriptDir%\defaults\profile\XPC.mfl
FileDelete, %A_ScriptDir%\defaults\profile\xpti.dat
FileDelete, %A_ScriptDir%\defaults\profile\XUL.mfl
FileDelete, %A_ScriptDir%\defaults\profile\compreg.dat
FileDelete, %A_ScriptDir%\defaults\profile\downloads.sqlite
FileDelete, %A_ScriptDir%\defaults\profile\places.sqlite
FileDelete, %A_ScriptDir%\defaults\profile\places.sqlite-journal
FileDelete, %A_ScriptDir%\defaults\profile\search.json
FileDelete, %A_ScriptDir%\defaults\profile\search.sqlite
FileDelete, %A_ScriptDir%\defaults\profile\urlclassifier3.sqlite
FileDelete, %A_ScriptDir%\defaults\profile\bookmarks.html
FileDelete, %A_ScriptDir%\defaults\profile\content-prefs.sqlite
FileDelete, %A_ScriptDir%\defaults\profile\cookies.sqlite
FileDelete, %A_ScriptDir%\defaults\profile\cookies.sqlite-journal
FileDelete, %A_ScriptDir%\defaults\profile\signons.sqlite
FileDelete, %A_ScriptDir%\defaults\profile\formhistory.sqlite
FileRemoveDir, %A_ScriptDir%\defaults\profile\bookmarkbackups, 1
FileRemoveDir, %A_ScriptDir%\defaults\profile\Cache, 1
FileRemoveDir, %A_ScriptDir%\defaults\profile\minidumps, 1
FileDelete, %A_ScriptDir%\browserconfig.properties
FileDelete, %A_ScriptDir%\install.log
FileDelete, %A_ScriptDir%\LICENSE
FileDelete, %A_ScriptDir%\old-homepage-default.properties
FileDelete, %A_ScriptDir%\update.locale
FileDelete, %A_ScriptDir%\updater.exe
FileDelete, %A_ScriptDir%\updater.ini
FileRemoveDir, %A_ScriptDir%\searchplugins, 1
FileRemoveDir, %A_ScriptDir%\uninstall, 1
FileRemoveDir, %A_ScriptDir%\updates, 1
MsgBox, Firefox Directory Cleaning Finished
ExitApp
另一个需要注意的是 Firefox 对于在系统注册表里面注册的插件的处理。比如像 Java Quick Starter, Google Update, Microsoft .NET Framework Assistant 这些玩意,虽然你期望的是真正的绿色版,但在启动之后 Firefox 会自动搜索windows系统注册表把注册的插件给装上。大多数情况下除了 Flash, Media Player 有限几个插件之外,其他乱七八糟的插件都不应该启用。
要让 Firefox 在启动后自动禁用某些流氓插件,就需要用到主目录下的 blocklist.xml [2] 文件。在其中的 <emItems> 标签中加上 <emItem id="jqs@sun.com"/> 禁用 Java Quick Starter ,在<pluginItems> 标签下加上
<pluginItem>
<match name="name" exp="^Picasa"/>
</pluginItem>
<pluginItem>
<match name="name" exp="^Java"/>
</pluginItem>
<pluginItem>
<match name="description" exp="^DRM "/>
</pluginItem>
<pluginItem>
<match name="name" exp="^Google"/>
</pluginItem>
来禁用其他插件。具体根据实际情况使用不同的正则表达式来匹配需要禁用的内容。修改好之后你还需要给 defaults/profile/prefs.js 文件增加几个配置项:
user_pref("extensions.blocklist.enabled", true);
user_pref("extensions.blocklist.interval", 8640000);
user_pref("extensions.blocklist.url", "");
以激活 blocklist 机制同时把 block url 设为空(否则 Firefox 会根据 interval 的时间间隔定时从服务器上抓取最新的 blocklist.xml 覆盖到本地文件)。最好把 blocklist.xml 设为只读属性,免得被重写。
最后一点, Firefox 3.5 仍然没有设置 urlclassifier.updatecachemax 参数,所以该cache文件变成巨无霸导致 Firefox 极端不稳定的可能性依然存在(未经验证),最好再给 prefs.js 加上:
user_pref("urlclassifier.updatecachemax", 20971520);
防止 Firefox CPU 占用 100% 的问题出现。
附:
修改Firefox的默认图标 -> 在chrome\icons\default 目录下放置你喜欢的图标文件覆盖(目录不存在的话直接新建即可),其中main-window.ico 这个图标是显示在标题栏左边,以及状态栏中的,其他的应该是打开帮助,扩展等等子窗口上的图标
修改Firefob标题栏后缀 -> 安装 Titlebar Tweaks 扩展
[1] Firefox 启动的命令行参数参考 (Command line arguments)
[2] blocklist.xml语法
- firefox定制文章
- firefox右键菜单定制
- 【Jsoup】抓取文章并定制
- 用Firefox的userChrome.css定制自己的Firefox界面
- 定制firefox地址栏和搜索栏长度
- 为firefox定制about页面的URL
- 编写firefox 扩展的文章
- csdn推荐文章 & firefox同步
- jquery mobile 定制外观文章收集
- 文章标题:Android应用中定制标题栏
- firefox中div上下排列,经典文章
- Firefox 4.0 alpha1 pre 试用与个性化定制
- Firefox 快捷键大全及更改和定制快捷键的方法
- 怎样把firefox定制得像chrome一样简洁
- 请问定制的标签-怎么输出单篇文章
- 网站中如何定制文章发布日期的格式?
- 自定制vs插件--LearnVSXNow!(后续文章,只有链接)
- Wordpress调用和定制显示文章经典…
- 异常谜题之关闭流
- apache2.2 + mod_jk + tomcat6 实现apache代理tomcat
- usleep的--系统调用流程--及不准确的问题 - Android4.0.1
- code.google.com无法访问
- CSC命令
- firefox定制文章
- listview中长按事件响应
- Asp.Net分页方法:JQuery插件实现Ajax无刷新分页、AspNetPager分页控件实现分页
- 数据库和 MIDP
- 各种平台下Perl模块的安装方法
- Performance tips
- log4j配置xml方式
- 简单工厂模式
- 从菜鸟到高手的自学linux教程(一)