将小书签变成 Firefox 扩展?

Turn bookmarklet into Firefox extension?

我开发了一个非常强大和复杂的小书签,但它开始触及小书签格式的边缘。我正在考虑将其变成浏览器扩展。对于 Chrome,我发现 this tool 很容易上手。我需要稍微调整一下输出,但这相当简单。

我想知道 Firefox 是否有类似的东西。我想要一个向浏览器添加按钮的扩展程序,当您单击它时,它会在页面上运行一个脚本。谁能指出教程或文档的相关部分?

version 42 (current stable version), Firefox includes support for WebExtensions 开始,即 API 与 Chrome 扩展相同,因此您可以幸运地使用相同的工具。

考虑到它正在进行中并且不是 100% 移植的,所以请阅读文档 about the state of it

当前的 Addon SDK 将来会被弃用,取而代之的是 WebExtensions,所以我认为您应该尝试 WebExtensions,甚至更多,因为它允许您只需要维护一个代码库。

小书签非常简单。如果您想立即使用插件,WebExtension API 不是很好。

SDK 保证现在可以正常工作,您将从 SDK 中用于小书签的功能级别将在未来继续工作。

这很容易。您要做的就是遵循本指南:https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_Started_%28jpm%29

先决条件(安装节点 [安装 npm])只需几分钟。

然后当您到达该指南的 Implementing the add-on 部分时。不要贴他们说的,而是贴这个:

var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");

pageMod.PageMod({
  include: "*.mozilla.org",
  contentScriptFile: [data.url("jquery.js"),
                      data.url("my-script.js")]
});

修改 include 以匹配您要定位的网站。

然后在 index.js 文件旁边创建一个文件夹,将其命名为数据。在里面,创建 my-script.js 并粘贴您的小书签。如果您需要 jquery,那么也将其添加到那里。如果不这样做,请从我上面粘贴的代码段的 contentScriptFile 行中删除 jquery。

然后在命令行中输入 npm jpm xpi(这就是你使用 jpm 的方式)。

测试 - 确保进入 about:config 并将 xpinstall.signatures.required 设置为 false,因为 Firefox 现在需要签名。然后将该 xpi 拖到您的 Firefox。

准备好后,将 XPI 上传到 addons.mozilla.org :)