Mozilla Add-ons学习笔记(1)
来源:互联网 发布:ps淘宝详情页字体大小 编辑:程序博客网 时间:2024/05/22 02:11
Mozilla和Firefox
Firefox是Mozilla基金会最主要的一个浏览器项目。Mozilla最早也有一款Mozilla浏览器,从2004年11月开始才发布Firefox1.0。
XULXUL是Mozilla独有的用于开发Mozilla扩展程序的技术,可以和JavaScript、CSS、XBL、XPCOM等技术配合使用,构建所谓的“XUL应用”。
GeckoGecko是一个Web渲染引擎,被用于firefox等浏览器,详细的firefox与Gecko的版本对应关系见:https://developer.mozilla.org/en/Gecko
XULRunnerfirefox和其他的很多Mozilla应用一样可以分为两个部分:UI和XULRunner(一个common platform)。XULRunner包含了Gecko引擎、Necko networking library和一些其他的组件用于提供操作系统无关的文件管理、访问和定位。这样一个common platform使得Mozilla和firefox项目快速地成长。XULRunner的主页:https://developer.mozilla.org/en/XULRunner
什么是firefox Extension?Extension是向诸如firefox、thunderbird之类的Mozilla应用中添加功能的小应用程序。extension有别于add-ons。add-ons包含extension,但也包含主题、语言包、plugins等。主题和语言包的开发类似于extension,但是pulgin的开发则完全不同,详见:https://developer.mozilla.org/en/Plugins
现在的Extention有三种不同的形式:add-on sdk extensions(jetpacks)、bootstrapped extensions、traditional extensions。add-on sdk可以让初学者快速地开发extension。而bootstrapped extensions则比traditional extensions更加高级。
一个extension的安装程序是一个XPI文件,这是一个跨平台的安装包,可以在任何的firefox所支持的平台上使用。XPI文件其实是一个ZIP压缩文件,包含以下内容:
chrome.manifestinstall.rdfcontent--browserOverlay.xul--browserOverlay.jsskin--browserOverlay.csslocale--en-US----browserOverlay.dtd----browserOverlay.propertiesinstall.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"> <em:id>helloworld@xulschool.com</em:id> <em:name>XUL School Hello World</em:name> <em:description>Welcome to XUL School!</em:description> <em:version>0.1</em:version> <em:creator>Appcoast</em:creator> <em:homepageURL>https://developer.mozilla.org/en/XUL_School</em:homepageURL> <em:type>2</em:type> <!-- Mozilla Firefox --> <em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>4.0</em:minVersion> <em:maxVersion>10.*</em:maxVersion> </Description> </em:targetApplication> </Description></RDF>其中,<em:id>helloworld@xulschool.com</em:id>是extension的唯一标识,用于区别于其他的extension,有email-like和uuid两种选择。<em:name>XUL School Hello World</em:name>等是对extension的可见的描述信息。<em:type>2</em:type>表示这是一个extension。<em:targetApplication>描述了extension所适合的浏览器版本,这里的描述不能有任何错误。在所有的mozilla应用中都对该文件有严格的要求。
chrome.manifest文件
Chrome是指窗口文本区域之外的UI元素,如菜单、工具栏、进度条、状态栏、标题栏等,也是出了页面内容外,用户能看到的一切。一个Chrome至少包含:content、skin、locale三部分。其中content是最重要的,包含了XUL和JS的代码。skin中包含了一些图片文件和CSS代码,用于修饰UI的外观。locale中包含了extension中的文本内容,用properties文件和dtd文件保存。
chrome.manifest文件的内容如下:
content xulschoolhello content/skin xulschoolhello classic/1.0 skin/locale xulschoolhello en-US locale/en-US/overlay chrome://browser/content/browser.xul chrome://xulschoolhello/content/browserOverlay.xul
每行的第一个单词指定描述的对象,第二个单词指定包,skin和locale的第三个属性指定其所扩展的对象。最后一个属性指定对应代码所在的目录。skin也可以指定除unix-like系统以外的操作系统,如:
skin xulschoolhello classic/1.0 skin/mac/ os=Darwin
最后,文件中指定了XUL文件的URL,用的是firefox所支持的chrome协议。
- Mozilla Add-ons学习笔记(1)
- Mozilla Add-ons学习笔记(2)
- [Android]Android Add-ons 学习笔记(Map API)
- ONS笔记
- Firefox Add-Ons
- Android Add-ons
- Firefox Add-ons
- Firefox Add-ons
- Mozilla Addons 学习笔记(3)
- Mozilla Addons学习笔记(4)
- 使用firefox 3.0:必安的add-ons(插件)
- fireFox 换背景图(add-ons)
- 使用QuickText Add-ons for Thunderbird
- Protocol Buffers: (9) Third Party Add ons
- Recommending Firefox add-ons with Spark
- Spring Modules - Modules, add-ons and integration tools for Spring
- 26 Essential Firefox Add-ons for Web Designers
- 12 useful Firefox Add-ons for Web Developer
- 对智能指针的学习
- VNC 服务
- 来CSDN
- 在O(1)时间内删去链表节点。
- 天猫售假隐形链条:中介公司一条龙服务
- Mozilla Add-ons学习笔记(1)
- HDU-1565-方格取数(1)
- HDU 2544 最短路 dijkstra
- 病毒知识:电脑病毒的概念来自一场游戏
- osx 10.8下skydrive不能用处理
- struts2.0的struts.xml配置文件详解
- Reapter增删改查
- 玩转Android---UI篇---ListView之ArrayAdapter(列表)---2
- Ubuntu12.04 更新源