3

为 Mozilla Firefox 开发扩展我想知道我现在所做的是否有“更简单的方法”。目前我做:

  1. 创建一个文件夹——在其中开发——例如myextension

  2. 在此文件夹中:创建和编辑文件(如 install.rdf、chrome.manifest、xul 文件。基本上是 Firefox 扩展的所有其他结构(这里没问题))

  3. 将内容压缩myextension到 ZIP 文件(即名为 myextension.zip)

  4. 将 myextension.zip 重命名为 myextension.xpi

  5. 安装 xpi-file-firefox-extension 然后在 firefox

  6. 重启火狐

  7. 测试扩展

每次编辑扩展的代码库后,我需要经历 3. zip-compress,4. 重命名,5. 将 XPI 文件安装到 firefox,6 重新启动浏览器的过程。

当然我可以自动化其中的一些,但我仍然想知道是否有另一种方法可以直接在运行的 firefox 配置文件文件夹中开发 firefox 扩展。

我知道的扩展存储在 Firefox 配置文件文件夹中: firefox/profile/extensions/nameofextension.xpi

我记不太清了,但我认为有一种方法可以将扩展名也解压缩为一个文件夹存储在那里?这样我仍然需要在编辑后重新启动,但不需要进行所有繁琐的压缩-重命名-安装。

有任何想法吗?

4

2 回答 2

5

可以设置一个目录来“就地编辑”一个 firefox 扩展。这样可以减少 Firefox 扩展的编辑和测试之间的工作量。

我在博客https://blog.mozilla.org/addons/2009/01/28/how-to-develop-a-firefox-extension/上找到了很好的解释

在这里,我想给出实现“就地编辑”所需的主要步骤

第 1 步:您必须找到Firefox 的配置文件目录。例如在 Linux 中,这通常是这样的: ~/.mozilla/firefox/#%#%.default/

第 2 步:转到此配置文件目录

第 3 步:如果您已经安装了任何扩展程序(例如 adblock+ 或 noscript),那么在此配置文件目录中,您将找到一个名为extensions的文件夹。如果您还没有安装任何额外的扩展,可能很容易安装任何扩展,只需为您设置 **extensions" 文件夹。

第 4 步:在此扩展文件夹中,您可以创建一个新目录(让我们将其命名为“myextensions_1”),其中应包含插件的内容。这些东西是普通的东西,比如install.rdf,chrome.manifest文件和content, skin,locale子目录。实际上,您通常会压缩所有内容以成为 XPI 文件。

<em:id>步骤 5. 创建一个与您在 ìnstall.rdf 文件中使用的标签内容相同的文件。因此,如果您使用过,则<em:id>myextensionname@author.org</em:id>需要创建一个名为myextensionname@author.org. 在此文件中,您将写入我们之前创建的“就地编辑扩展文件夹”的位置。在我们的示例中,我们将拥有

  • 文件myextensionname@author.org
  • 仅包含文本~/.mozilla/firefox/#%#%.default/extensions/myextensions_1

当然,文本取决于您用于插件的文件夹的位置。

如果您正确地做所有事情 - 并且可能使用上面链接的说明进行了仔细检查 - 您可以重新启动或“新启动”firefox。浏览器会询问您是否要允许使用插件myextensionname@author.org,您可以同意。

Now you can edit in the folder ~/.mozilla/firefox/#%#%.default/extensions/myextensions_1 and need not to worry about zipping-up -> renaming -> installing. You simple restart Firefox and the edits to your extensions code will become available.

This will allow you swifter and faster developing "in-place".

于 2012-11-10T08:16:38.527 回答
3

注意:这是一个无耻的自插件 - 我说的是我自己创建的扩展。

就地开发扩展是可能的,但有很多问题(主要是各种缓存),这确实不是一个好的选择。不过,您可以大大简化您的开发周期。为此,您需要在 Firefox 中安装Extension Auto-Installer插件。然后,您可以将批处理文件(假设您正在 Windows 上开发)放入您的扩展目录中,如下所示:

zip -r test.xpi * -xi *.bat *.xpi
wget --post-file=test.xpi http://localhost:8888/
del test.xpi

所需的命令行工具都预装在基于 Unix 的系统上,对于 Windows,您可以轻松下载它们:zipwget

然后你只需要运行那个批处理文件来更新你在 Firefox 中的扩展。如果您的扩展程序不是无重启,那么 Firefox 将自动重启。所以这取代了你的步骤 3 到 6。

于 2012-11-09T08:44:08.797 回答