firefox - 开发一个适当的Firefox扩展(不是首先通过编码到xpi)?

标签 firefox firefox-addon edit-in-place

为 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

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

有什么想法吗?

最佳答案

可以设置一个目录来“就地编辑”一个 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 步:在这个 extensions 文件夹中,您可以创建一个新目录(让我们将其命名为“myextensions_1”),其中应包含插件的内容。这些东西是普通的东西,比如 install.rdf , chrome.manifest文件和 content , skin , locale子目录。实际上,您通常会压缩所有内容以成为 XPI 文件。

步骤 5. 创建一个与 <em:id> 的内容相同的文件您在ì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,您可以同意。

现在您可以在文件夹 ~/.mozilla/firefox/#%#%.default/extensions/myextensions_1 中进行编辑并且不必担心压缩 -> 重命名 -> 安装。 您只需重新启动 Firefox,您的扩展代码的编辑将变为可用。

这将使您能够更快、更快速地“就地”开发。

关于firefox - 开发一个适当的Firefox扩展(不是首先通过编码到xpi)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13304571/

相关文章:

javascript - Firefox - WebSocket - 未建立连接

javascript - 就地编辑 JavaScript 可一次编辑多个字段

javascript - 就地编辑 jquery

javascript - Firefox 附加组件如何访问用户的书签文件夹

javascript - 如何从 nsIDOMWindow 获取 Tab?

javascript - 如何从 firefox 浏览器中将选定的文本写为图像

php - 就地编辑更新脚本安全性

jquery - 将类添加到正文时不触发 CSS 转换 (Firefox)

css - FF 在刷新时以不同方式加载 CSS

html - 仅在 firefox div 背景中的 CSS 错误被部分 div 替换