Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1173033
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: Python/Ruby

2012-06-26 11:14:10

这两天学习了一下Firefox扩展的开发,根据官方文档一步步做了下来,记一点笔记备忘:

按照下面写的步骤可以很轻松的为Firefox 创建一个扩展。

要打包一个可供安装的扩展很简单,把整个目录打包为zip,然后改后缀为 xpi 就可以了。

实际上Firefox的扩展可以理解为 XUL + JS

XPCOM
是非常重要的东西,功能极其强大,提供了很多API,可以操作文件、网络、数据流等等。Firefox实际上可以看作是XPCOM的实现组合。由于XPCOM是跨平台和语言的,所以还可以用C++, Python 等来开发扩展。

要写一个HelloWorld其实非常简单,在下面的第5步就能做到,但是我们应该学会怎么用XPCOM来写一个复杂的HelloWorld.

笔记写的比较乱,直接看估计会没什么感觉,但是对照着官方文档动手做一遍,就很快上手了。

参考:
https://developer.mozilla.org/en/Building_an_Extension

1.
创建目录结构

exampleExt.xpi:
              /install.rdf                   
              /components/* 
              /components/cmdline.js                   
              /defaults/
              /defaults/preferences/*.js     
              /plugins/*                        
              /chrome.manifest                
              /chrome/icons/default/*       
              /chrome/
              /chrome/content/


2.
创建 install.rdf ,用于注册该扩展


     xmlns:em="">


    sample@example.net
    1.0
    2
   
     
   
     
        {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
        1.5
        3.0.*
     

   

   
   
    sample
    A test extension
    Your Name Here
   
      




3.
chrome/content/ 目录中创建 xul 文件(overlay), 用于展示和描述扩展
https://developer.mozilla.org/en/XUL_Overlays
https://developer.mozilla.org/en/XUL

sample.xul:


         xmlns="">






4.
创建 chrome.manifest

写入内容 Don't forget the trailing slash, "/"!
content     sample    chrome/content/
overlay chrome://browser/content/browser.xul chrome://sample/content/sample.xul




5. javascript
xul进行交互
直接在xul中引入javascript文件sample.js


         xmlns="" >
        

阅读(1434) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~