这几天开始使用firefox+pentadactyl来搭建一个开源、可扩展、完全绿化的浏览器环境,以便随身带着使用,其中firefox的使用了24.0的长期支持版, 这边版本稳定, 快速, 兼容性好, 重点是pentadactyl最高只支持到24.0。在网络上找了半天, 终于找到了一个真正完绿化版的firefox24.0, 下载地址如下:
http://chenxuefeng.net.cn/
这是一个名为Shura的个人网页, 他绿化了不少好东西, 从中找到24.0版的firefox即可。
下载下来的压缩包随便解压到一个地方进入,解压后的firefox目录, 点击!绿化工具.exe运行绿化过程即可.实现完全绿化 , 研究了一下这个绿化的原理发现,firefox其实将所有的用户相关的配置都放在了一个默认位置为 c:UsersAdministratorAppDataRoamingMozillaFirefox的目录下面, 如果希望实现,绿化, 只需要在这个目录下创建一个profile.ini的文件,在其中制定用户配置文件夹的新路径即可,这里的!绿化工具.exe做的事情其实就是创这个profile.ini文件并在启动将用户配置文件重新定向到了解压后firefox所在位置下的一个名为ShuraData的目录。从这个里就可以推断出, 如果我们移动了解压后的firefox目录需用重新运行!绿化工具.exe程序来重新定向配置文件的正确路径, 如果我们将firefox目录复制到一个可移动的固态盘片或u盘中,并且将其带到了一个新的电脑上时同样需用运行一次!绿化工具.exe来完成配置重定向。
绿化完成之后, 打开firefox, 删除一些自己不想要的插件之后安装pentadactyl扩展。之后开始优化firefox, 下面的记录是我找到的一些firefox存在的问题及解决办法:
Windows 7系统下解决Firefox、Flash假死的方法
原因:
从Flash11.3开始,Adobe引入保护模式,即Flash沙箱功能,这项沙箱机制常常导致firefox页面假死等问题。
解决方式:
访问系统盘,修改mms.cfg,其文件所在位置如下:
Win32:
C:windowssystem32macromedflash
Win64:
C:windowssyswow64macromedflash
编辑mms.cfg, 在文件末尾添加一行
ProtectedMode=0
保存重启firefox即可
Pentadactyl目前只支持到firefox24.0 为了防止firefox自动更新, 需要关闭firefox的自动更新功能, 关闭方法:
选项->高级->更新->关闭更新
firefox的缓存文件夹默认在D:datacache目录, 我修改到了如下目录:
c:UsersAdministratorAppDataRoamingMozillaFirefoxcache
如果firefox安装在可以移动的盘符里面随身携带的同时在一台别人的电脑上使用时不希望在这台电脑上留下任何记录的话, 还可以利用firefox提供的内存盘缓存机制来实现,记录如下:
firefox的内存盘缓存机制原理是将内存作为缓存的存放位置来实现大幅提高网页加载速度和无痕浏览的方式, 因此内存盘的使用不仅大大提高缓存的存储和读取速度,更可以实现浏览器的自动无痕浏览,这是是我在后来发现的好东东, 所以在这里特地补充上来, firefox的内存盘开启非常简单, 使用如下操作即可:
about:config-> browser.cache.disk.enable 双击设置为false
about:config->browser.cache.memory.enable 确保设置为true
设置在改目录的目的是减小对firefox所在的可移动盘符的频繁读写,同时可以提高firefox的反应速度
如果希望修改缓存文件夹的位置在如下位置修改:
about:config-> browser.cache.disk.parent_directory
Pentadactyl我设置为启动时关闭了firefox的工具栏, 原因是如果打开工具栏,firefox启动时会自动定位到地址栏并处于插入模式, 这很影响启动后的操作。
在windows系统的PATH环境中加入一个HOME变量, 在HOME变量指向的文件夹下面创建一个 .pentadactylrc 文件, 编辑该文件来对pentadactyl进行配置,我找到的一些设置修改后收集如下:
loadplugins '.(js|penta)$'
map -m n,v j -builtin 15j
map -m n,v k -builtin 15k
map -m n,v y -builtin Y
map -m n,v Y -builtin y
map -m n,v p -builtin P
map -m n,v P -builtin p
map -m n,v l -builtin gt
map -m n,v h -builtin gT
map -m n,v < -builtin [[
map -m n,v > -builtin ]]
map -m n,v m -builtin :bmarks<cr>
map -m n,v M -builtin :bmark<cr>
map -m n,v b -builtin <PageUp>
map -m n,v s -builtin :stop<cr>
map -m n,v U -builtin :undo<Space>
map -m i <C-h> <Left>
map -m i <C-j> <Down>
map -m i <C-k> <Up>
map -m i <C-l> <Right>
map -m n <leader>r :restart<cr>
map -m n <leader>q :qall<cr>
map -m n <leader>h :history<Space><cr>
map -m n <leader>x :xall<cr>
map -m n <leader>s :reh<CR>
map -m n <leader>d :dialog<sp>addbookmark<cr>
map -m n <leader>b :dialog<sp>customizetoolbar<cr>
map -m n <leader>c :dialog<sp>cleardata<cr>
map -m n <leader>p :preferences<cr>
map -m n <leader>P :tabopen about:config<cr>
map -m n <leader>e :dialog searchengines<cr>
map -m n <c-f> :set guioptions!=T<cr>
map -m i,c,t <C-v> <Pass>
map -m i,c,t <C-x> <Pass>
map -m i,c,t <C-z> <Pass>
map -m n,v,i,c,t <C-a> <Pass>
map -m n,v,i,c,t <C-c> <Pass>
map t -js str=util.domToString(buffer.focusedFrame.getSelection()); str!=""?dactyl.open(str, {where: dactyl.NEW_TAB}):CommandExMode().open("tabopen ")
map o -js str=util.domToString(buffer.focusedFrame.getSelection()); str!=""?dactyl.open(str, {where: dactyl.CURRENT_TAB}):CommandExMode().open("open ")
set guioptions+=B
set history=100
set maxitems=12
set hintkeys=jksdflaghioweqrumncvx
hi Normal color: black; background: white; font-size:10pt
hi Hint font:12px "Droid Sans Mono",monospace !important;margin:-.2ex;padding:0 0 0 1px;outline:1px solid rgba(0,0,0,.5);background:rgba(255,248,231,.8);color:black;text-transform:uppercase;
set nextpattern='(下|后)一?(页|頁|篇|章|张)|次のページ|次へ','^next','next','suivant','^(>|›)$','^(>>|»)$','^(>|»)','(>|»)$','more'
set previouspattern='(上|前)一?(页|頁|篇|章|张)|前のページ|前へ','^prev|previous','prev|previous','précédent','^(<|‹)$','^(<<|«)$','^(<|«)','(<|«)$'
style -name=commandline-ime chrome://* #dactyl-commandline-command input {ime-mode: inactive;}
style chrome://* #dactyl-statusline-field-commandline-command input {ime-mode: inactive;}
修改后将后缀名改回xpi后重启firefox即可看到效果,我的世界从此再次变得更加美好了。