Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将bookmarklet转换为Firefox扩展?_Javascript_Firefox_Firefox Addon_Firefox Addon Sdk_Bookmarklet - Fatal编程技术网

Javascript 将bookmarklet转换为Firefox扩展?

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,因此您可以幸运地使用相同的

我已经开发了一个非常强大和复杂的bookmarklet,但是它开始撞到bookmarklet格式的边缘。我正在考虑把它变成一个浏览器扩展。对于Chrome,我发现这使得它很容易开始。我需要稍微调整一下输出,但这相当简单

我想知道Firefox是否也有类似的功能。我想要一个扩展,可以在浏览器中添加一个按钮,当您单击它时,它会在页面上运行一个脚本。有人能给我指一下教程或文档的相关部分吗?

从当前的稳定版本开始,Firefox包括对ie的支持,即与Chrome扩展相同的API,因此您可以幸运地使用相同的工具

考虑到这是正在进行的工作,并且不是100%移植的,所以请阅读文档

当前的插件SDK将在将来被弃用,取而代之的是WebExtensions,因此我认为您应该尝试一下WebExtensions,甚至当它允许您只需维护一个代码库时更是如此。

从当前的稳定版本开始,Firefox包括对ie和Chrome扩展相同的API的支持,因此,您可以幸运地使用相同的工具

考虑到这是正在进行的工作,并且不是100%移植的,所以请阅读文档


当前的插件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:

要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题不属于堆栈溢出的主题,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决问题所做的工作。