`

firefox扩展开发技术

阅读更多

firefox扩展开发技术

1,XPCOM

XPCOM(Cross Platform Component Object Model)是一种跨平台组件模型,是Mozilla技术的核心。其原理与微软的COM技术类似,但与COM不同的是,XPCOM是一种跨平台技术,并支持多种语言绑定(Language Bindings)。也就是说,我们可以使用C++、JAVA、JavaScript、Python、Ruby、Perl等语言来编写组件。而XPCOM的接口(Interface)是用一种叫做XPIDL的IDL(Interface Description Language)来定义的。1

XPCOM 自身提供了一套核心的组件和类,用于诸如内存管理,线程,基本数据结构(strings, arrays, variants)等 。但是大部分的XPCOM组件并不是这个核心库提供的,而是由很多第三方的平台(例如Gecko或者Necko)提供,或者由一个应用,甚至一个扩展提供。

2,RDF

教程http://www.w3school.com.cn/rdf/

3,开发插件实在是很痛苦的一件事情,因为他需要用到Firefox的chrome系统,而每次更新了代码之后,都需要重新载入chrome才能起作用。一般情况下要重启chrome就需要重新启动firefox,还好有人已经发现这种痛苦,所以开发了一个Extension Developer Manager,里面提供了好几个工具,用的最多的是reload chrome,用来在不重启firefox的情况下,重新载入chrome,第二个是javascript shell,他可以访问任意一个当前的firefox窗口。而要完成插件开发,一般还要用到Console,因为很多调试信息都需要通过这看,如果没这玩意,那估计每次都得用alert了。至于DOM Inspector一般用不上,因为如果你要象greesemonkey那样,获取当前页面的HTML DOM的话,一般都只能通过事件来实现,然后hack到她的appcontent里面,这东西在DOM Inspector里面没有,所以,你通过这种方式修改了DOM树,通过DOM Inspector是看不出来的,而为了验证你有没有修改成功,现在我的方法就是靠javascript shell。
        关于DOM,我搞了足足两天,才算搞出个所以然来,由于firefox是用XUL写的,而XUL也定义了DOM,所以,一般情况下你在扩展里头,或者 javascript shell里面通过document获取的仅仅是XUL的DOM,要获取browser里面的DOM,我现在探索出来的有两种,一种是 greesemonkey那样,用事件,每次都监察DOMContentLoad事件,这个方法很危险,例如如果一个网页他有多个frame,那么这个事件就会发生多次,而由于greesemonkey只是在加载的时候用user script对DOM做一次处理,所以这个问题不是特别大。不过,如果我要做的是能够多次操作DOM树,所以,就必须要得到当前窗口的当前正在显示的 DOM,为了获取这冬冬,我足足用了2天,google了所有能想到的关键词,把XUL planet和MDC上面的文章都翻了个遍,最后终于在moznet的irc上面问到人了,原来要得到这东西根本不需要用事件,只要通过 content.document就可以得到了。实在不容易啊。

上面全部抄自http://blog.csdn.net/nickcen/archive/2006/07/15/923252.aspx

4,用7zip压缩为zip,然后改后缀为xpi

 

系列文章http://hi.baidu.com/lovemyselfbest/blog/item/0bf363ee1ed5e1feb3fb9546.html

http://www.blueidea.com/tech/web/2007/4979.asp

分享到:
评论

相关推荐

    firefox插件开发,firefox plugin 开发 firefox 扩展 开发

    火狐浏览器(Firefox)插件开发涉及一系列技术与步骤,主要目标是创建增强或定制浏览器功能的软件组件。以下是对标题和描述中提及知识点的详细解释: 1. **开发环境搭建**: - 使用`-no-remote -P develop`参数...

    Firefox扩展开发详解

    Firefox扩展开发是一个面向开发者的技术,它允许用户自定义和增强Firefox浏览器的功能。本文将深入探讨Firefox扩展开发的各个方面,从基础结构到核心组件,帮助开发者理解如何构建自己的Firefox扩展。 首先,一个...

    firefox extension 开发例子

    Firefox扩展(Extension)开发是为Mozilla Firefox浏览器定制功能或改变其外观的一种技术。这个压缩包包含的文件是创建Firefox扩展的基础组件。 1. **chrome.manifest**:这是Firefox扩展的核心配置文件之一,它...

    基于 Mozilla firefox 的扩展开发

    **基于 Mozilla Firefox 的扩展开发详解** Firefox 扩展(或称插件)是 Mozilla Firefox 浏览器的一个强大特性,允许开发者通过编写特定的代码来增强浏览器的功能,提供个性化体验。如果你对定制浏览器界面、增加新...

    Firefox扩展实例-HelloWorld

    Firefox扩展开发使用的是Web技术栈,因此如果你熟悉HTML、CSS和JavaScript,那么开发Firefox扩展将相对容易。此外,Firefox提供了丰富的API(比如`chrome.*`对象),让扩展可以访问浏览器的许多内部功能,如书签、...

    Mozilla,firefox 扩展学习

    Mozilla和Firefox扩展开发是Web开发领域的一个重要分支,它允许开发者为火狐浏览器定制功能,增强用户体验或提供特定服务。本文将深入探讨Mozilla扩展的基本概念、开发环境搭建、API使用以及实战示例。 一、Mozilla...

    firefox扩展插件制作小综合

    综上所述,"Firefox扩展插件制作小综合"这个主题涵盖了从基础的JavaScript编程到高级的Firefox扩展开发技巧。通过学习这些内容,开发者不仅可以创建自定义的浏览器插件,还能深入了解浏览器的工作原理,提升自身的...

    firefox扩展编程手册

    《Firefox扩展编程手册》是一本深入探讨Firefox浏览器扩展开发的专业教程,主要面向对Web技术和Firefox扩展感兴趣的开发者。这本书英文版提供了全面的指南,涵盖了从环境搭建到扩展分发的整个流程,帮助开发者们掌握...

    firefox插件开发教程

    为了跟上最新的开发技术,开发者需要升级至 Firefox 1.5,并在安装过程中选择“自定义”安装类型,确保“开发者工具”组件被安装。此步骤对于后续的开发工作至关重要。 ### 知识点三:使用 Zip 工具 Firefox 扩展...

    firefox 扩展

    标题 "Firefox 扩展" 涉及到的是在 Mozilla Firefox 浏览器中使用的插件或附加组件的开发和管理。这些扩展可以增强浏览器的...对于想要深入了解 Firefox 扩展开发的 IT 从业者来说,这是一片广阔的领域,值得深入研究。

    Firefox和Chrome扩展开发

    这是关于Firefox和Chrome扩展开发技术,此文档详细介绍了利用java技术开发Firefox和Chrome浏览器插件的一些问题

    firefox插件开发文档

    5. **Add-on SDK**: Mozilla提供的Add-on SDK是一个高级开发框架,它简化了扩展开发过程,提供了许多预定义的模块,如PageMod、Data、Panel等,开发者可以通过简单的命令行工具快速创建和打包插件。 6. **...

    firefox 最新开发文档

    这份文档涵盖了从基础的插件开发到高级的浏览器扩展技术,为想要参与Firefox生态建设的开发者提供了详尽的指南。 首先,让我们从"Firefox 插件"开始。Firefox插件是一种轻量级的软件组件,它们可以增强浏览器的功能...

    FireFox开发文档

    根据给定的“FireFox开发文档”的标题、描述、标签及部分内容,我们可以提炼出一系列与FireFox扩展开发相关的深入知识点: ### FireFox扩展开发概述 #### 关键概念 - **扩展开发**:针对Mozilla Firefox浏览器设计...

    我的Firefox插件开发之旅——从零开始

    作者在本篇文章中介绍了他的Firefox插件开发之旅,这是他首次尝试开发Firefox扩展,之前在IE浏览器中使用ActiveX技术实现了类似功能。作者开始时对于Firefox插件开发一无所知,因此在网上搜索相关资料,并找到了一个...

    firefox插件开发

    这两者是Firefox早期扩展开发的技术,但现在主要用于更复杂的系统级插件。 6. **沙盒环境**:由于安全原因,WebExtensions在沙盒环境中运行,这意味着它们不能直接访问本地文件系统或执行系统命令。开发者需要学习...

    Firefox(火狐)浏览器 插件开发 DEMO VC6

    总之,这个“Firefox(火狐)浏览器 插件开发 DEMO VC6”项目涵盖了从基础的编程语言到高级的浏览器交互技术,对于想要深入学习Firefox插件开发的开发者来说,是一个宝贵的实践资源。通过研究这个DEMO,开发者可以学习...

    基于FireFox的Plugins的开发(带测试用源码)

    在互联网浏览器领域,Firefox(火狐)以其开源、安全、可定制性等特性,吸引了大量的开发者和用户。为了增强Firefox的功能,开发者常常会利用插件(Plugins)来扩展其能力。本教程将深入探讨如何在Firefox上开发...

Global site tag (gtag.js) - Google Analytics