将bookmarklet变成Firefox扩展?

时间:2015-12-14 22:23:03

标签: javascript firefox firefox-addon firefox-addon-sdk bookmarklet

我开发了一个非常强大而复杂的书签,但它开始碰到书签格式的边缘。我正在考虑将其转换为浏览器扩展程序。对于Chrome,我发现this tool可让您轻松入门。我需要稍微调整一下输出,但这很简单。

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

2 个答案:

答案 0 :(得分:1)

Bookmarklets非常简单。如果您想立即使用插件,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一样)。

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

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

答案 1 :(得分:0)

version 42(当前稳定版本)开始,Firefox包含对WebExtensions的支持,即与Chrome扩展程序相同的API,因此您可以幸运地使用相同的工具。

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

将来不推荐使用当前的Addon SDK以支持WebExtensions,因此我认为您应该尝试使用WebExtensions,当它允许您只需要维护一个代码库时,就会更多。