本文没涉及如何写一个扩展,而是简单整理一下扩展涉及到的周边的东西。
环境
Profile配置文件的默认位置:
Windows
|
%APPDATA%\Mozilla\
|
Unix/Linux
|
~/.mozilla
|
为了不影响正常Firefox的使用,用来测试插件或扩展应该使用不同的Profile配置
使用新的Profile文件
通过
firefox -no-remote -P testplugin
可以启动让firefox使用名为testplugin的Profile配置,如果这个配置尚不存在,则会弹出对话框,我们可以点击创建。此时可以自己定义名字和选择目录
-no-remote的含义是开启一个新的实例(进程?),而不是在当前的实例中新开一个窗口。具体参数信息可以通过
firefox --help
获得。
现在 ~/.mozilla/firefox下有以下内容:
4bn7669x.default/
av24yatw.testplugin/
Crash Reports/
profiles.ini
修改Firefox配置
在地址栏输入about:config,修改以下参数的值
javascript.options.showInConsole=true
|
将chrome文件中的错误显示在Console里。
|
nglayout.debug.disable_xul_cache = true
|
关闭XUL缓存,这允许不重启而改变窗口以及对话的内容。
|
browser.dom.window.dump.enabled = true
|
这将允许dump()函数输出到stdout里。
|
javascript.options.strict = true
|
启用严格JavaScript错误提示。
|
extensions.logging.enabled = true
|
这将给出更多关于安装以及更新插件的信息。
|
某些项可能不存在,可以在页面点击右键,添加。
也可以直接修改Profile文件夹下的prefs.js文件
- ~/.mozilla/firefox/av24yatw.testplugin/prefs.js
user_pref("nglayout.debug.disable_xul_cache",true);
user_pref("browser.dom.window.dump.enabled",true);
如果这个文件不存在,可以直接创建。
扩展的位置
假定我们已经有了一个扩展(文件夹或者.xpi文件),那么放到哪儿才能被firefox找到呢?
位置一
%APPDATA%\Mozilla\Extensions\{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\
/usr/lib/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-3a3a9e97384}/
~/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
位置二
针对某个特定的Profile配置:
%APPDATA%\Mozilla\Firefox\4bn7669x.default\Extensions\
~/.mozilla/firefox/4bn7669x.default/extensions/
位置三
Firefox安装目录下的
distribution/extensions/
子目录
如何放置?
位置有了,如果扩展该如何放置呢?命名有无要求?
每一个扩展都有一个install.rdf文件,该文件内有一个该扩展的ID(是一个uuid或者email地址)
<em:id>helloworld@mozilla.doslash.org</em:id>
1. 如果我们将扩展的文件夹直接放置到前面提到的位置。那么文件夹名需要和该ID完全一致
helloworld@mozilla.doslash.org
2. 可以将该扩展其打包成.zip文件(后缀改为.xpi,标准的扩展安装文件?),放置到前面提及的位置
helloworld@mozilla.doslash.org.xpi
3. 我们可以将插件随便放置到一个其他位置,然后在前述位置下放置一个文本文件
helloworld@mozilla.doslash.org
其内容为我们插件所在的具体文件夹的路径。
第三种方法和前面的位置二应该是编写扩展时最常用的。
扩展的结构
├─install.rdf
├─chrome.manifest
├─content/
├─skin/
└─locale/
对扩展来说,这是最重要的一个文件。它指定了扩展的名字,ID,版本等等信息
这个文件也是必须的,它告诉Firefox该扩展提供了哪些内容。这部分东西通常会打包成一个jar文件(也是一个普通的.zip文件)
- content/ skin/ locale/ ...
这些不是必须的,但大部分扩展都是这么组织内容的:
content
|
包含该扩展的UI和逻辑
|
skin
|
CSS 和一些图片(其他人可以提供新的皮肤)
|
locale
|
locale相关的文件,比如翻译等 (其他人可以提供翻译)
|
chrome
如前所述,chrome有3部分组成
content helloworld content/
locale helloworld en-US locale/en-US/
skin helloworld classic/1.0 skin/
访问这些文件时,通过chrome协议
chrome://packagename/section/path/to/file
比如:chrome://helloworld/content/overlay.xul
参考
分享到:
相关推荐
Firefox填写表单扩展 安装方法很简单,直接拖拽到火狐浏览器窗口中然后根据提示操作即可。 随时关注最新版: http://code.google.com/p/ffextension/downloads 火狐官方下载地址: ...
Firefox扩展实例-HelloWorld.
firefox 扩展开发示例 , firefox 插件开发 内含, 1.示例程序 2.指导步骤 3.扩展开发教程 指导步骤,为原创内容,写的不好,大家见凉!
web开发必备的firefox扩展集合: compatibility detector firebug firecookies fireguestures measureit rainbow color tools web developer
受影响的包括uBlock Origin、AdGuard AdBlocker、AdBlock For Firefox、AdNauseam等广告拦截扩展。只有科学上网,去AdGuard或AdGuard AdBlocker英文网站主页安装这个插件。你也可以尝试下载这个离线安装插件,解压缩...
常用的Firefox(火狐)扩展,包括AdblockPlus,IETabplus,Firebug、Webdeveloper等。
博文中firefox扩展开发初级教程示例扩展xpi包,可快速重启firefox。欢迎下载,学习使用并与我交流。firefox交流群:81424441
在本地安装firefox扩展的脚本,已经含有chm阅读扩展,有需要的就下。
里面有firefox扩展插件制作所需要的一部分知识。有经典 javascript脚本,XML教材,一些扩展插件例子。
快速重启firefox,定制工具栏中添加了一个按钮,可手动移动到任何地方。完整版在文件菜单中增加了重新启动菜单项。直接打开Firefox,拖拽进Firefox就可以安装
非常适合入门级别的Mozilla开发人员,介绍详细,界面整洁,对Mozilla或者火狐开发的人员来说是非常好的
generator-firefox-extension, 用于 Firefox 扩展的文书生成器 Firefox 扩展生成器 用于扩展扩展的文件生成器允许你使用基本文件结构和推荐设置快速设置扩展。这样可以节省编写样板代码的时间,这样就可以立即开始...
一步一步实现都你如何创建Firefox扩展。
firefox tutorial,英文版的~
hellowrod firefox扩展啦啦啦
firefox扩展(3.6) firefox扩展(3.6) firefox扩展(3.6)
首先下载我分享的文件,里面是config.js和config-prefs.js两个文件,然后:第一步:找到你安装的火狐的安装目录第二步:将config.js放到火狐安装的根目录下 例D:\Mozilla Firefox第三步:将config-prefs.js放到火狐...
Firefox 52.0.2 渗透便携版 90SEC beta8 含多个文件 Firefox 52.0.2 渗透便携版 90SEC beta8 Firefox 52.0.2 渗透便携版 90SEC beta8 Firefox 52.0.2 渗透便携版 90SEC beta8 Firefox 52.0.2 渗透便携版 90SEC beta8...
本文档详细介绍了Firefox扩展开发的详细过程,包括文档的组织结构,安装的配置以及一些基本的xul语法知识等,文档中的示例可以直接编辑,生成Firefox扩展。
在firefox地址栏输入about:config 找到以下内容 devtools.tilt.enabled 设置为true devtools.tilt.force-enabled 设置为true 前提 webgl.disabled 设置为false webgl.force-enabled 设置为true 弄好后重启firefox 按...