将小书签变成 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 :)
我开发了一个非常强大和复杂的小书签,但它开始触及小书签格式的边缘。我正在考虑将其变成浏览器扩展。对于 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 :)