FireFox 扩展实例应用,改变菜单栏

       由于项目需要,在某些网页中的菜单栏中不能够有网页另存为,笔者之前做过BHO的相关开发,以为要实现该功能也要写一个类似BHO的东东,所以自然而然的将目光转向了

firefox的plugin开发过程,可当真正的实现了,才发祥并不是我想要的东西,firefox的plugin就是IE的一个ActiveX,折腾了一天的时间,才发现根本不是我要的东西,这就不说了,

对于为曾做过相关Firefox开发的同行们,要想改变firefox的菜单一定要将目光转向Extension,我就是一个活生生的反例啊。好了,现在说下我的心得,尽可能的将所有的东西都点

到,能够为后来者抛砖引玉:

     这是我的Extension目录

chrome.mainfest中的内容是:

content    FirstHinstance content/

overlay    chrome://browser/content/browser.xul    chrome://FirstHinstance/content/overlay.xul

FirstHinstance是扩展的名字,overlay是覆盖命令,因为你要改变菜单栏,自然要修改firefox中的菜单文件啊,这个文件就是 chrome://browser/content/browser.xul,而你的文件是

 chrome://FirstHinstance/content/overlay.xul,这个文件放在content文件夹当中

install.rdf文件内容是:

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
  <!--扩展ID一般是某个邮箱的地址,但不一定是真的,也可以是CLSID()-->
    <em:id>help@FirstHinstance.net</em:id>

  <!--扩展名称即,在组价组件中我们看到的扩展名称-->
    <em:name>FirstHinstance</em:name>
    <em:version>0.1.0</em:version>

  <!--我们扩展的版本号-->
    <em:description>FirstHinstance</em:description>

  <!--该扩展的作者-->
    <em:creator>anonymous</em:creator>
    
    <!-- Firefox -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>

<!--改扩展试用的firefox的最低版本号-->
        <em:minVersion>1.5</em:minVersion>

<!--改扩展试用的firefox的最高版本号-->
        <em:maxVersion>25.0.1.*</em:maxVersion>
      </Description>
    </em:targetApplication>
  </Description>
</RDF>

PS:该文件中有需要注意的是最高版本号,如果您在安装扩展时提示不兼容的话,可以尝试,将最高版本号修改成您浏览器的版本号,自己firefox浏览器的版本号可以通过橙色

栏->帮助->关于Firefox来进行查看

overlay.xul中的内容是,overlay.xul是放在content文件中的

<?xml version="1.0"?>
<overlay id="batchimagesdownloader-overlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <menupopup id="menu_ToolsPopup">
    <menuitem id="batchimagesdownloader-show" label="FirstHinstance"
              oncommand="myExtension.show(event);" />
  </menupopup>
</overlay>
我们现在要做的就是在工具菜单选中添加一个按钮,FirstHinstance就是该按钮上的文字

这一点我们是怎么做到的呢?

其实很简单你在firefox地址栏中输入chrome://browser/content/browser.xul

在展示页面中就会出现firefox的本身页面再查看源代码,搜索"menu_ToolsPopup",这个就是按下F10就会出现的工具菜单栏的定义,在其后面添加一个menuitem则是在工具栏

如果想要修改其他的菜单或者布局,可以看下该文件的源代码哈哈哈

下添加一个按钮FirstHinstance,该按钮要实现的工具是在js中定义的

var myExtension = {
show: function() {
 alert('this is my first Hinstance');
},}

这样一个简单的功能就实现了,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世纪殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值