这几天开始使用firefox+pentadactyl来搭建一个开源、可扩展、完全绿化的浏览器环境,以便随身带着使用,其中firefox的使用了24.0的长期支持版, 这边版本稳定, 快速, 兼容性好, 重点是pentadactyl最高只支持到24.0。在网络上找了半天, 终于找到了一个真正完绿化版的firefox24.0, 下载地址如下:

  http://chenxuefeng.net.cn/

 这是一个名为Shura的个人网页, 他绿化了不少好东西, 从中找到24.0版的firefox即可。

   下载下来的压缩包随便解压到一个地方进入,解压后的firefox目录, 点击!绿化工具.exe运行绿化过程即可.实现完全绿化 , 研究了一下这个绿化的原理发现,firefox其实将所有的用户相关的配置都放在了一个默认位置为 c:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\的目录下面, 如果希望实现,绿化, 只需要在这个目录下创建一个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:\windows\system32\macromed\flash
Win64:
C:\windows\syswow64\macromed\flash
编辑mms.cfg, 在文件末尾添加一行
ProtectedMode=0
保存重启firefox即可

Pentadactyl目前只支持到firefox24.0 为了防止firefox自动更新, 需要关闭firefox的自动更新功能, 关闭方法:

选项->高级->更新->关闭更新

firefox的缓存文件夹默认在D:\data\cache目录, 我修改到了如下目录:
c:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\cache

如果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='(下|后)一?(页|頁|篇|章|张)|次のページ|次へ','^\bnext\b','\bnext\b','\bsuivant\b','^(>|›)$','^(>>|»)$','^(>|»)','(>|»)$','\bmore\b'
set previouspattern='(上|前)一?(页|頁|篇|章|张)|前のページ|前へ','^\bprev|previous\b','\bprev|previous\b','\bprécédent\b','^(<|‹)$','^(<<|«)$','^(<|«)','(<|«)$'

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即可看到效果,我的世界从此再次变得更加美好了。

firefox + pentadactyl 实现纯绿色高效易扩展浏览器(同时实现修改默认状态栏样式)的更多相关文章

  1. 你的ExcelUtil简单、高效、易扩展吗

    你的ExcelUtil简单.高效.易扩展吗 Author: Dorae Date: 2018年10月23日12:30:15 转载请注明出处 一.背景 最近接到了和Excel导出相关的需求,但是: 项目 ...

  2. DataBase MongoDB高级知识-易扩展

    MongoDB高级知识-易扩展 应用程序数据集的大小正在以不可思议的速度增长.随着可用宽带的增长和存储器价格的下跌,即使是一个小规模的应用程序,需要存储的数据也可能大的惊人,甚至超出了很多数据库的处理 ...

  3. hackbar增强版 & 在Firefox上安装未通过验证的扩展

    hackbar是Firefox的经典插件之一.介绍如下(懒得翻译了) This toolbar will help you in testing sql injections, XSS holes a ...

  4. 纯绿色集成环境,可切换180个Mysql、700个PHP版本

    测试神器又出新版!功能更强大(目测linux版本也快要出了,拭目以待吧) PHPWAMP8.8.8.8集成环境,目测大概更新如下内容(我也就是大略看了下更新内容) 1.支持自定义设置任意Mysql版本 ...

  5. MongoDB高级知识-易扩展

    MongoDB高级知识-易扩展 应用程序数据集的大小正在以不可思议的速度增长.随着可用宽带的增长和存储器价格的下跌,即使是一个小规模的应用程序,需要存储的数据也可能大的惊人,甚至超出了很多数据库的处理 ...

  6. [Windows] - Windows/Office纯绿色一键激活工具及方法

    瘟到死网上有很多一件键激活工具(如KMS),但许多带毒或报毒.这里给出一个纯绿色命令行一键激活,及自已搭建激活服务器的方法. KMS现在算法都是公开的了,可以自行在网上找到,这里不详述. 使用命令行一 ...

  7. Pytest权威教程05-Pytest fixtures:清晰 模块化 易扩展

    目录 Pytest fixtures:清晰 模块化 易扩展 Fixtures作为函数参数使用 Fixtures: 依赖注入的主要例子 conftest.py: 共享fixture函数 共享测试数据 生 ...

  8. ZanUI-WeApp -- 一个颜值高、好用、易扩展的微信小程序 UI 库

    ZanUI-WeApp -- 一个颜值高.好用.易扩展的微信小程序 UI 库:https://cnodejs.org/topic/589d625a5c8036f7019e7a4a 微信小程序之官方UI ...

  9. Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建;学习Python语言,利用Python语言来写测试用例。加油!!!

    Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建:学习Python语言,利用Python语言来写测试用例.加油!!!

随机推荐

  1. C#.NET 无法直接启动带有类库输出类型的项目怎么办

    我把Driver.cs文件去掉了一行注释,发现报错   右击这个解决方案,选择属性,然后再启动项目中改成MySample    

  2. cmd启动Oracle服务和监听服务

    启动数据库服务 net start oracleserviceorcl 启动数据库监听 lsnrctl start

  3. qt-qml移动开发之在ios上开发和部署app流程简单介绍

    qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因 ...

  4. cocos2d-x 求相交矩阵

    cocos2d-x有推断矩阵相交的方法 CCRect::intersectsRect(CCRect& rect)但可惜没有提供求两个相交矩阵的方法,我作了总结,代码例如以下: CCRect T ...

  5. leetcode第一刷_Search in Rotated Sorted Array

    旋转数组的查找问题.从头開始扫一遍.O(N)的复杂度,一般也能过,甚至先排序下面,再二分都能过.只是这道题的目的当然不在于此. 想一下旋转之后对我们的查找产生了什么影响.假设没旋转过,我们直接比較ta ...

  6. ZOJ3659 Conquer a New Region 并查集

    Conquer a New Region Time Limit: 5 Seconds      Memory Limit: 32768 KB The wheel of the history roll ...

  7. UniDAC连接Embedded MySQL server

    Simple question about MySQL embedded application. Post a reply   7 posts • Page 1 of 1   Simple ques ...

  8. LAMP安装问题【已解决】

    1.编译不通过提示cannot find mysql header files under /usr/local/mysql解决办法:修改./configuer  --with-mysql=/usr/ ...

  9. ATM网络

    ATM是Asynchronous Transfer Mode(ATM)异步传输模式的缩写,是实现B-ISDN的业务的核心技术之一.ATM是以信元为基础的一种分组交换和复用技术

  10. 【Dairy】2016.10.30 BirthdayParty

    今天又有人生日耶,鹏哥和骥哥两兄弟,Happy Birthday 开始听到这件事,我傻逼的想了一下,咦,这两人这么有缘,同一天生日...脑抽了... 小胖犇极缓音调来了首烟花易冷,劲啊! 发张什么图呢 ...