开发一个扩展Mozilla Firefox的我不知道,如果有一个“简单的方法”什么,我现在做的。 目前我做的:
创建一个文件夹-在其中进行开发-例如myextension
此文件夹中创建和编辑文件(如的install.rdf,chrome.manifest用于,XUL文件基本上所有Firefox扩展( 没有问题的其他结构在这里 )。)
拉链压缩的内容myextension
到一个ZIP文件(即名为myextension.zip)
重命名myextension.zip到myextension.xpi
安装的XPI文件Firefox的扩展然后在Firefox
重新启动Firefox
测试进一步扩展
每个编辑到扩展的代码库后,我需要经历3拉链压缩,4.重命名的过程中,5安装XPI文件,火狐,6重启浏览器。
当然,我可以自动完成一些这方面却依然不知是否有另一种方式来直接在运行Firefox的配置文件夹开发的Firefox扩展。
我所知道的扩展存储在Firefox的配置文件夹为: firefox/profile/extensions/nameofextension.xpi
我不记得很清楚,但我认为有办法有被存储为解压缩的文件夹有太多的扩展? 这样,我仍然需要修改后重新启动,但无法完成所有的laboursome的压缩和解,重命名,安装。
有任何想法吗?
它可以建立一个目录,以“就地编辑” Firefox扩展。 通过这个可以减少编辑和火狐扩展的测试之间的努力。
我发现博客上的很好的解释https://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/
在这里,我想给要实现“就地编辑”的主要步骤
第1步:你必须找到的Firefox您的配置文件目录 。 例如在Linux中,这往往会成为经常是这样的: ~/.mozilla/firefox/#%#%.default/
第2步:进入此配置文件目录
步骤3:如果您已经安装任何扩展名(例如像Adblock的+或无脚本),则此配置文件目录中,你会发现一个文件夹命名扩展 。 如果您尚未安装还没有任何额外的扩展有别,它可能是容易的,只需安装任何,只为有**的扩展名”文件夹设置为您服务。
第4步:在此Extensions文件夹,您可以创建一个新的目录(让我们将其命名为“myextensions_1”),其中应包含您的插件的东西。 这东西会像普通的事情install.rdf
, chrome.manifest
文件和content
, skin
, locale
子目录。 实际上所有的东西你会normaly拉上成为XPI文件。
第5步:创建一个文件,它是等于内容<em:id>
您在的install.rdf文件中使用的标签。 所以,如果你使用<em:id>myextensionname@author.org</em:id>
你需要创建一个名为myextensionname@author.org
。 在这个文件中,你会写的“就地编辑扩展文件夹”的位置,我们之前创建的。 在我们的例子中,我们将有
- 文件
myextensionname@author.org
- 其中只包含文本
~/.mozilla/firefox/#%#%.default/extensions/myextensions_1
当然,文本要看你用你的插件文件夹的位置。
如果你正确地做所有的事情 - 与上面的链接的说明也许双重检查 - 你可以重新启动或“新开始”火狐。 如果你想允许插件myextensionname@author.org,您可以conceed的使用浏览器会问你。
现在,您可以编辑文件夹中~/.mozilla/firefox/#%#%.default/extensions/myextensions_1
也无需担心荏苒行动- >重命名- >安装。 你简单的重新启动Firefox和编辑自己的扩展代码将变为可用。
这将让你更快和更快的发展“就地”。
注:这是一个无耻的自我插头 - 我说的是我自己创建的扩展。
开发到位的扩展是可能的,但有这么多的问题(主要是各种缓存),它真的不是一个好的选择。 不过,您可以简化开发周期很多。 对于您需要安装扩展自动安装插件在Firefox。 然后,你可以把一个批处理文件(假设你正在开发Windows环境)到沿线的扩展程序目录:
zip -r test.xpi * -xi *.bat *.xpi
wget --post-file=test.xpi http://localhost:8888/
del test.xpi
所需的命令行工具都预先安装在基于Unix的系统,适用于Windows,你可以很容易地下载他们: 拉链 , wget的 。
然后,你将只需要运行该批处理文件来更新你的Firefox扩展。 如果您的分机没有,那么无需重启Firefox会自动重新启动。 因此,这取代了您的步骤3到6。