首页 文章

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

提问于
浏览
3

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

  • 创建一个文件夹 - 在其中进行开发 - 例如 myextension

  • 在此文件夹中:创建和编辑文件(如install.rdf,chrome.manifest,xul文件 . 基本上所有Firefox扩展的其他结构( no problem here ))

  • myextension 的内容压缩压缩为ZIP文件(即名为myextension.zip)

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

  • 然后在firefox中安装xpi-file-firefox-extension

  • 重启Firefox

  • 测试扩展

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

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

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

我不记得了,但我认为有一种方法可以将扩展名作为文件夹解压缩存储在那里吗?这样我仍然需要在编辑后重新启动,但不能完成所有laboursome压缩 - 重命名 - 安装 .

有任何想法吗?

2 回答

  • 5

    可以设置一个目录来“就地编辑”firefox扩展 . 通过这种方式,可以减少编辑和测试Firefox扩展之间的工作量 .

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

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

    第1步:你必须找到你的 profile directory Firefox . 例如在Linux中,这通常是这样的: ~/.mozilla/firefox/#%#%.default/

    第2步:转到 profile directory

    第3步:如果您已经安装了任何扩展程序(例如adblock或noscript),那么在此 profile directory 中您将找到名为 extensions 的文件夹 . 如果您还没有安装任何其他扩展程序,可以轻松安装任何扩展程序,只需为您设置**扩展名“文件夹” .

    第4步:在这个 extensions 文件夹中,您可以创建一个新目录(让我们将其命名为"myextensions_1"),该目录应包含插件的内容 . 这些东西将是普通的东西,如 install.rdfchrome.manifest 文件和 contentskinlocale 子目录 . 实际上你将通常压缩成为XPI文件的所有东西 .

    步骤5.创建一个文件,该文件等于您在“.stall.rdf”文件中使用的 <em:id> 标记的内容 . 因此,如果您使用 <em:id>myextensionname@author.org</em:id> ,则需要创建名为 myextensionname@author.org 的文件 . 在此文件中,您将编写我们之前创建的"in-place-edit-extension-folder"的位置 . 在我们的例子中,我们会有

    • 文件 myextensionname@author.org

    • 仅包含文本 ~/.mozilla/firefox/#%#%.default/extensions/myextensions_1

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

    如果您正确地完成了所有事情 - 并且可能使用上面链接的说明进行了双重检查 - 您可以重启或"newly start" firefox . 浏览器会询问您是否允许使用您可以设想的插件 myextensionname@author.org .

    现在您可以在 ~/.mozilla/firefox/#%#%.default/extensions/myextensions_1 文件夹中进行编辑,无需担心拉链 - >重命名 - >安装 . 您可以简单地重新启动Firefox,并且可以使用对扩展代码的编辑 .

    这将使您更快速,更快地“就地”开发 .

  • 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 .

相关问题