Javascript 将bookmarklet转换为Firefox扩展?
我已经开发了一个非常强大和复杂的bookmarklet,但是它开始撞到bookmarklet格式的边缘。我正在考虑把它变成一个浏览器扩展。对于Chrome,我发现这使得它很容易开始。我需要稍微调整一下输出,但这相当简单 我想知道Firefox是否也有类似的功能。我想要一个扩展,可以在浏览器中添加一个按钮,当您单击它时,它会在页面上运行一个脚本。有人能给我指一下教程或文档的相关部分吗?从当前的稳定版本开始,Firefox包括对ie的支持,即与Chrome扩展相同的API,因此您可以幸运地使用相同的工具 考虑到这是正在进行的工作,并且不是100%移植的,所以请阅读文档 当前的插件SDK将在将来被弃用,取而代之的是WebExtensions,因此我认为您应该尝试一下WebExtensions,甚至当它允许您只需维护一个代码库时更是如此。从当前的稳定版本开始,Firefox包括对ie和Chrome扩展相同的API的支持,因此,您可以幸运地使用相同的工具 考虑到这是正在进行的工作,并且不是100%移植的,所以请阅读文档Javascript 将bookmarklet转换为Firefox扩展?,javascript,firefox,firefox-addon,firefox-addon-sdk,bookmarklet,Javascript,Firefox,Firefox Addon,Firefox Addon Sdk,Bookmarklet,我已经开发了一个非常强大和复杂的bookmarklet,但是它开始撞到bookmarklet格式的边缘。我正在考虑把它变成一个浏览器扩展。对于Chrome,我发现这使得它很容易开始。我需要稍微调整一下输出,但这相当简单 我想知道Firefox是否也有类似的功能。我想要一个扩展,可以在浏览器中添加一个按钮,当您单击它时,它会在页面上运行一个脚本。有人能给我指一下教程或文档的相关部分吗?从当前的稳定版本开始,Firefox包括对ie的支持,即与Chrome扩展相同的API,因此您可以幸运地使用相同的
当前的插件SDK将在将来被弃用,取而代之的是WebExtensions,因此我认为您应该尝试一下WebExtensions,甚至当它允许您只需维护一个代码库时更是如此。bookmarklet非常简单。如果您想立即使用该插件,那么WebExtensionAPI就不好 SDK保证现在就可以工作,您将从SDK中为bookmarklet使用的功能级别在将来也会继续工作 这很容易。您要做的是遵循以下指南: 先决条件安装节点[安装npm的节点]只需几分钟 然后,当您进入该指南的“实现附加组件”部分时。不要粘贴他们说的内容,而是粘贴以下内容:
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文件旁边创建一个文件夹,称之为data。在里面,创建my-script.js并粘贴书签。如果您需要jquery,那么也将其添加到那里。如果没有,则从我上面粘贴的代码段的contentScriptFile行中删除jquery
然后在命令行中输入npm jpm xpi,因为这就是您使用jpm的方式
测试-确保执行:config并将xpinstall.signatures.required设置为false,因为Firefox现在需要签名。然后将xpi拖到Firefox上
准备好后,将XPI上传到addons.mozilla.org:Bookmarklets非常简单。如果您想立即使用该插件,那么WebExtensionAPI就不好 SDK保证现在就可以工作,您将从SDK中为bookmarklet使用的功能级别在将来也会继续工作 这很容易。您要做的是遵循以下指南: 先决条件安装节点[安装npm的节点]只需几分钟 然后,当您进入该指南的“实现附加组件”部分时。不要粘贴他们说的内容,而是粘贴以下内容:
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文件旁边创建一个文件夹,称之为data。在里面,创建my-script.js并粘贴书签。如果您需要jquery,那么也将其添加到那里。如果没有,则从我上面粘贴的代码段的contentScriptFile行中删除jquery
然后在命令行中输入npm jpm xpi,因为这就是您使用jpm的方式
测试-确保执行:config并将xpinstall.signatures.required设置为false,因为Firefox现在需要签名。然后将xpi拖到Firefox上
然后,准备好后,将XPI上传到addons.mozilla.org:要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题不属于堆栈溢出的主题,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决问题所做的工作。