这几天开始使用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. git remote加入本地库的方法

    方法来自airk: 假设须要将你电脑本地的一个git库(目录)B 加入到另外一个git库(目录) A的 remote里 操作方法例如以下: 先在git仓库B操作: git init --bare 然后 ...

  2. STM32F104VG (一)中断与外部中断

    一.基础知识 1.ARM的中断优先级分硬件优先级和软件优先级两种 当中软件优先级又由抢占优先级和响应优先级组成 2.中断的优先级採用编号小优先的原则. 3.普通情况: 1).假设设定了软件优先级.先看 ...

  3. C#如何编辑tab选项卡

    1 左侧的TabControl   2 如果要添加或删除选项卡个数,则定位到整个TabControl,然后编辑TabPages  

  4. 怎样在win8系统下建立wifi热点

     2012年10月26日,微软正式推出Windows 8操作系统,不少用户也都升级到了最新的Win8.大家知道.在Win7系统下,我们非常方便的就在命令提示符下建立了WIFI热点.那么Win8上是 ...

  5. GMT和CST的转换

    GMT时间是格林尼治标准时间.CST时间是指包含中国.美国.巴西,澳大利亚四个时区的时间. 在javascript中默认CST是指美国中部时间,倘若在javascript中GMT转换CST则两者相差1 ...

  6. iOS下JSON反序列化开源库

    iOS下JSON字符串反序列化成对象.在正式的项目中比較常见.例如以下几个经常使用开源库.能够依据个人喜好任选其一: 1. JSONModel: https://github.com/icanzilb ...

  7. Guake Terminal ── linux下完美帅气的终端

    虽说如今非常多Linux发行版.比方Ubuntu,已经基本上能够採用GUI来完毕绝大部分一般性的任务. 可是,终端程序对于linux用户来说仍是不可缺少的. Gnome自带的gnome-termina ...

  8. c# Custom Controls

    http://www.cnblogs.com/light169/archive/2008/06/11/1217139.html

  9. JVM架构

    1 JVM的内存模型 1.1 堆空间 每个jvm都有一个堆,所有的对象都放在这里. 1.2 java栈空间 每个线程都有一个java栈,所有的java栈都放在这里. 1.3 本地方法栈 每个线程都有一 ...

  10. 解决ES集群状态异常教程(存在UNASSIGNED)

    解决ES集群状态异常教程(存在UNASSIGNED)_百度经验 https://jingyan.baidu.com/article/9158e00013f787a255122843.html