Firefox撰写的日志

Firefox性能优化之升级SQLite引擎

SQLite是轻量级的开源数据库引擎,Firefox通过SQLite引擎将用户的大部分数据保存在后缀为.sqlite的文件数据库中,随着places.sqlite,formhistory.sqlite,urlclassifier3.sqlite等这些文件的不断增长,Firefox的性能也在慢慢降低。

通过删除places.sqlite,formhistory.sqlite,urlclassifier3.sqlite等这些数据库文件中的历史记录当然可以使Firefox的性能有所提升,不过做为开源软件的SQLite,辛勤的开发者在不断地对它进行完善、性能的优化。

比如,Firefox 3.0.6中使用的SQLite引擎的版本是:3.5.9,现在SQLite的最新版本是Version 3.6.11。所以一个能够提升Firefox性能的方法也就出来了:升级Firefox的SQLite引擎。

具体方法如下:

1.下载SQLite的最新版本:http://www.sqlite.org/download.html
    Windows用户下载sqlitedll-3_6_11.zip,Linux用户下载sqlite-3.6.11.so.gz

2.关闭Firefox后将下载到的压缩包里的sqlite3.dll(Windows)或sqlite3.so 替换Firefox安装目录下的相应文件。

再重新开启Firefox,看看是不是快很多了!! 

关于限制firefox3中urlclassifier3.sqlite文件大小

限制Firefox中urlclassifier3.sqlite文件大小的方法一文提出了通过设置"urlclassifier.updatecachemax"来限制urlclassifier3.sqlite文件大小的方法,不过经过测试发现此方法无效.

通过测试发现当我把urlclassifier.updatecachemax设置为104857600 (即100MB),然后将firefox3配置目录下的urlclassifier3.sqlite删除,随后经过一段时间,发现urlclassifier3.sqlite的大小为55036KB,小于100MB。

随后我再把urlclassifier.updatecachemax设置为10485760 (即10MB),然后再把firefox3配置目录下的urlclassifier3.sqlite删除,随后经过一段时间后,发现urlclassifier3.sqlite的大小为55036KB,已经远远超过设定的 10MB了。

所以通过设置"urlclassifier.updatecachemax"来限制urlclassifier3.sqlite文件大小的方法行不通了。

不过在我使用firefox3的过程中,发现urlclassifier3.sqlite的大小一直在50MB左右,所以大家也不用太担心此文件了。

BTW:urlclassifier3.sqlite文件用于记录Firefox从Google抓取的反钓鱼网站和恶意站点数据的,但一般情况下他会不断增长。

Firefox3中about:config页面提示"XML解析错误:未找到元素"

Firefox从3.0升级到3.0.1后, 在地址栏输入 about:config ,页面出现错误信息:

XML解析错误:未找到元素
位置:about:config
行:1,列:1

好奇怪的问题,在Firefox中文社区有帖子提示说可能是中文语言包的问题,但是没有具体的解决办法。

有别外一种方法也可以访问到about:config的配置页面,在地址栏中输入  chrome://global/content/config.xul

通过尝试终于找到此问题的解决办法。

下载http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/3.0.1-candidates/build1/mac-xpi/zh-CN.xpi

关闭Firefox 3.0.1

用Winrar打开下载到的zh-CN.xpi,在chrome目录中有一个zh-CN.jar的文件

将此文件替换E:\Program Files\Mozilla Firefox 3\chrome(Firefox安装目录)中的zh-CN.jar文件

重新启动Firefox再在地址栏输入 about:config ,是不是又看到熟悉的配置界面了呢!

使用Tor代理+Firefox+FoxyProxy访问SourceForge

距离SourceForge被封已经有段时间了,但仍然没有恢复的迹象。

之前提供了一些访问SourceForge的方法,如:

SourceForge无法访问的解决办法

通过Sourceforge镜像下载站点突破电信封锁

但是总觉得不太方便。通过免费的VPN(linkideo )访问SourceForge的速度不错,但是无法照顾到同时访问国内网站的用户;使用 无界浏览 这个代理软件没有通过VPN上网的缺点,但是它会清除IE中的Cookies;而SourceForge的镜像只能获取到软件。

这次推荐的使用Tor代理+Firefox+FoxyProxy访问SourceForge 的方法对于经常使用Firefox的朋友来说应该算是完美了。

具体的实施过程见:http://www.zxlm.cn/software/tor-firefox-foxyproxy-access-sourceforge.html

对于想偷懒的朋友,可以在安装Tor,Firefox,FoxyProxy后,下载附件中的压缩文件,
将其中的foxyproxy.xml解压到Firefox的配置目录中,就可以省去设置FoxyProxy的步骤了。

Firefox的配置目录类似于:C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\xex5s159.default\

附件:foxyproxy.zip(1883 Byte)

关于Firefox3的反钓鱼数据库urlclassifier3.sqlite

urlclassifier3.sqlite是Firefox3生成的反钓鱼数据库,而urlclassifier2.sqlite则是Firefox2的反钓鱼数据库.

urlclassifier3.sqlite位于“D:\Documents and Settings\Administrator\Local Settings\Application Data\Mozilla\Firefox\Profiles\随机字符串.default\urlclassifier3.sqlite”

而urlclassifier2.sqlite位于“D:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\随机字符串.default”

 

不过Firefox3生成的这个数据库的体积有点吓人,比如我安装的Firefox生成的urlclassifier3.sqlite达到了53M,而且还有增长的趋势。

在查看了MozillaZine Knowledge Base知识库后,发现这个数据库是Firefox3从Google的一个服务中获取的(可以在about:config中查找“urlclassifier.keyupdatetime”):

https://sb-ssl.google.com/safebrowsing/newkey

而且发现有个参数“urlclassifier.updatecachemax”应该是控制urlclassifier3.sqlite文件的大小的:

Firefox incorporates the Google Safe Browsing extension in its own Phishing Protection feature to detect and warn users of phishy web sites.

In Linux, the periodic updates for the blacklist caused significant amounts of disk activity due to index and cache sizes for the underlying SQLite database. This preference controls a maximum cache size for SQLite that cuts down on the amount of disk activity required during an update.

Maximum size of the SQLite cache during an update, in bytes. Default in Linux is 104857600 (100 MB); elsewhere, -1 (SQLite default).

 

删除Firefox地址栏下拉列表中的指定记录

Firefox地址栏下拉列表(智能地址栏)中有时会出现并不是自己经常使用的记录,如何删除呢?

当我遇到这个问题的时候,打算通过直接修改Firefox3的splaces.sqlite中的相关记录的信息,但是还没有成功,之后发现原来可以通过快捷键来删除的。

 

打开Firefox地址栏下拉列表(智能地址栏),将鼠标移动到需要删除的记录下,按下Shift + Delete 就可以删除了。