Add-onSDK 还不能为火狐浏览器提供一个API添加新的菜单项。但它是可扩展的设计,所以任何人都可以建立和发布模块,使用插件开发者。大牛埃里克沃尔德写的MenuItems模块,能够使我们很方便的添加菜单项。

开发步骤


1.老规矩首先创建一个新的扩展程序。创建一个目录名称为"ItemTest"(自己随便取),并运行cfx init初始化 。

mkdir ItemTest
cd ItemTest
cfx init

2.安装 menuitems

  [1].从https://github.com/mykmelez/menuitems-jplib下载 menuitems
  [2].在ItemTest项目中新建 packages 文件夹,并将下载好的 menuitems 解压到此文件夹。

3.检查模块依赖

[1].如果第三方模块只引用了SDK的模块,你可以马上使用它们,但如果依赖于其他第三方模块,则需要安装所依赖的第三方模块。
[2].进入menuitems主目录,打开"package.json"的文件,将看到 "dependencies": ["api-utils", "vold-utils"],这告诉我们需要安装 vold-utils 模块, 从https://github.com/mykmelez/vold-utils-jplib下载,并添加到 menuitemss 目录下的package

4.使用menuitems

[1].Menuitems模块文档 告诉使用MenuItem()创建一个新的菜单项. MenuItem()可接受的附加选项, 我们将使用最迷你的配置:

  • id: 菜单项标示符
  • label:菜单项线上的文本
  • command: 用户选择菜单项的响应函数
  • menuid: 菜单项的父类标示符
  • insertbefore: 我们希望出现的标示符之前的位置  

  [2].修改ItemTest 项目下lib文件夹中的main.js,添加以下内容:

var menuitem = require("menuitems").Menuitem({
id: "clickme",
menuid: "menu_ToolsPopup",
label: "ItemTest -Click Me!",
onCommand: function() {
console.log("ItemTest clicked");
},
insertbefore: "menu_pageInfo"
});

5.为ItemTest项目添加 menuitems的依赖

  [1].向ItemTest项目下的package.json文件添加下面一行内容

"dependencies": "menuitems"

6.进入ItemTest项目,运行命令

cfx run

7.查看fireFox菜单栏中得工具栏目

8.单击ItemTest -Click Me!,注意查看终端控制台

 

向fireFox中添加新的菜单项,我们就愉快的完成了.

相关参考链接


menuitems 模块: https://github.com/mykmelez/menuitems-jplibvold-utils 模块: https://github.com/mykmelez/vold-utils-jplibMenuitems模块文档: https://github.com/mykmelez/menuitems-jplib/blob/master/docs/menuitems.md

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4830402.html

[Firefox附加组件]0002.添加菜单项的更多相关文章

  1. [Firefox附加组件]0004.上下文菜单项

    在我们平常浏览网页是经常要对网页类容进行一些操作处理,如复制,翻译,搜索,打印打印等,今天我们就学习下如何在Firefox中我们如何通过附加组件实现这些操作. 开发步骤 1.终端窗口运行以下命令创建项 ...

  2. 推荐一些我所用的firefox 附加组件。

    firefox之所以强大,很大程度上是因为它有着超多的扩展组件,来实现许多有趣的功能.这几天把我装的firefox附加组件整理下,个人认为是一般上网常用或者可以说是必备的组件,o(∩_∩)o ,晒晒. ...

  3. 访问不了firefox附加组件页面怎么办

    最近重新使用火狐浏览器的时候发现访问不了firefox附加组件页面了,一直是一个空白的页面,估计是被墙的原因,于是网上查了查,说是修改hosts即可,我修改后就可以正常访问了.现在分享出来: 在hos ...

  4. 如何给Firefox附加组件签名

    如何给Firefox附加组件签名 https://developer.mozilla.org/zh-CN/Add-ons/Distribution 2.打开https://addons.mozilla ...

  5. ecshop后台添加菜单项,权限问题

    ecshop后台自定义菜单涉及到几个重要的权限控制的文件,先做如下总结: 后台添加菜单项,并设置权限的步骤.:(以在系统模块添加申请友链菜单为例)commn.php       : \language ...

  6. Evernote Clearly :: Firefox 附加组件

    Evernote Clearly :: Firefox 附加组件 Evernote Clearly 10.1.1.2 作者: Evernote Evernote Clearly 可使博客贴文.文章和网 ...

  7. 为Windows资源管理器右键菜单添加菜单项

    为Windows资源管理器右键菜单添加菜单项 在Windows下命令行用的比较多,经常在资源管理器里翻到某个目录,若想要在此目录下跑命令,只能是打开cmd.exe,然后一路cd才能到达此目录. 每次都 ...

  8. [Firefox附加组件]0001.入门

    Firefox 火狐浏览器,拥有最快.最安全的上网体验,并且火狐拥有超过一万个的 扩展(add-ons),提供各种不同的扩展功能,您可以简单的下载.安装这些扩展以增强您的火狐功能,帮助您更好.更个性化 ...

  9. Android 添加菜单项

    刚开始看郭大神的<>,实现以下里面的一些例子.利用Menu给APP添加一个菜单项. 效果图 结构图 在res的menu文件夹下创建一个xml文件,当然你也可以使用系统创建的main.xml ...

随机推荐

  1. muduo网络库源码学习————日志类封装

    muduo库里面的日志使方法如下 这里定义了一个宏 #define LOG_INFO if (muduo::Logger::logLevel() <= muduo::Logger::INFO) ...

  2. <学习笔记: Django之初见>

    Django 1. web框架介绍 具体介绍Django之前,必须先介绍WEB框架等概念. web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子. ...

  3. Cell Phone Network G

    最小点队的题意:https://www.luogu.com.cn/problem/P2899 与战略游戏不同的是,这里要求占领所有的点而不是边. 1自己被自己染色(有信号塔) 这时我们可以想一下,u被 ...

  4. 不需要爬虫也能轻松获取 unsplash 上的图片

    我经常会使用 unsplash, 这里面的图片非常清爽,我的大多数文章的图片都是在这个网上找的,虽然也有同类型网站,但是用过一段时间以后基本都放弃了,图片质量参差不齐,筛选过程太费劲. 但是 unsp ...

  5. Coursera课程笔记----C程序设计进阶----Week 3

    函数的递归(Week 3) 什么是递归 引入 函数可以嵌套调用:无论嵌套多少层,原理都一样 函数不能嵌套定义:不能在一个函数里再定义另一个函数,因为所有函数一律平等 问题:一个函数能调用它自己吗? 举 ...

  6. opencv-12-高斯滤波-双边滤波(附C++代码实现)

    开始之前 这几天由于自己的原因没有写, 一个是因为自己懒了, 一个是感觉这里遇到点问题不想往下写了, 我们先努力结束这个章节吧, 之前介绍了比较常用而且比较好理解的均值和中值滤波, 但是呢,在例程Sm ...

  7. spring-boot如何去获取前端传递的参数

    本文主要讨论spring-boot如何获取前端传过来的参数,这些参数主要有两大类,一类是URL里的参数,一个是请求body里的参数 url里的参数 通过url里传过来的参数一般有三种方式,下面我们来看 ...

  8. 「从零单排HBase 10」HBase集群多租户实践

    在HBase1.1.0发布之前,HBase同一集群上的用户.表都是平等的,大家平等共用集群资源.容易碰到两个问题: 一是某些业务较其他业务重要,需要在资源有限的情况下优先保证核心重要业务的正常运行 二 ...

  9. java方法调用顺序

    public class JavalearningApplicationTests { static { System.out.println("Test的静态代码块"); } p ...

  10. 题解 P2421 【[NOI2002]荒岛野人】

    我的第一道数论紫题 首先,我们先看两个野人,他们相遇的充要条件是 \(C_i+P_i\times k\equiv C_j+P_j\times k\;(mod\;M)\) 其中\(k\)是第几年,且\( ...