`
seven_cuit
  • 浏览: 91758 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

在eclipse中动态开发Firefox扩展

阅读更多

   在前一篇文章中跟大家分享了怎么使用spket在eclipse中开发Firefox扩展,但是存在的一个缺点是默认的chrome.manifest文件中对content,skin,locale提供的地址都是相关jar包的,这样需要方便我们生成xpi安装文件,但是作为开发人员,我们往往需要对扩展进行多次修改与调试再最后生成安装文件,这时可以用以下的方法来实现Firefox扩展的动态开发,当我们修改扩展源文件时,被修改结果立即被反应在浏览器上。

1.首先我们需要对chrome.manifest文件做一个比较透彻的认识:

   chrome.manifest中常用的有以下几种元素:content,skin,locale,overlay

   他们的格式如下:

   content 包名 content文件夹中内容相对chrome.manifest文件的位置/     (注意,最后这个"/"不能省略)

   skin       包名   皮肤名   skin文件夹中内容相对chrome.manifest文件的位置/

   locale    包名   语言名    locale文件夹中内容相对chrome.manifest文件的位置/

 

 

   注意这三个文件都与存放相应内容的文件夹的位置有关,当相应文件夹改变是,他们也要跟着改变

 

   overlay chrome://被覆盖的overlay的URI地址   chrome://overlay的URI地址

 

    与上面三个元素不丗,overlay无文件夹的位置无关,它总能通过这个抽象的chrome://找到overlay在什么地方,css与js文件也使用chrome://来指定。

 

2.当使用spket创建一个firefox extension project 后的目标结构如下(取项目名为myextension,下面使用的包名也为myextension):

 

   myextension

        |+content

        |+defaults

        |+locale

        |+skin

        |-.project

        |-build.xml

        |-chrome.manifest

        |-install.rdf

 

 

  则如果想进行进行动态开发的话,我们需要将chrome.manifest中自动生成的用jar方式表示的语句去掉,修改后的chrome.manifest的内容大致如下:

 

content myextension content/
locale    myextension	en-US		locale/en-US/
skin	      myextension	classic/1.0	skin/
overlay chrome://browser/content/browser.xul chrome://myextension/content/myextension.xul
 

   然后我们需要创建一个指针文件,指向这个项目,文件名称与此扩展的ID相同,类似myextension@XXX.com,将此文件放入自己的firefox的profiles 文件夹下的extensions 文件夹中,这个文件夹的位置一般是:

C:\Documents and Settings\YOURACCONUTNAME\Application Data\Mozilla\Firefox\Profiles\XXX(此处名称不唯一)\extensions,这个指针文件的内容就是你的项目的绝对地址.

 

3.现在打开Firefox,在没有安装扩展的情况下,这个扩展已经在浏览器中了,这时我们在eclipse中修改源文件内容后,只需在Firefox中使用Reload all Chrome命令就可以后到修改后的扩展效果(Reload all chrome 是Fireofx扩展 Extension Developer 的一个命令,需要首先安装这个扩展)。

 

 

4.当扩展功能全部完成且调试通过时,我们就需要将它打包成XPI文件了,这个时候只需要简单修改一下chrome.manifest文件就可以了,修改后的效果如下:

 

 

content myextension  jar:chrome/myextension.jar!/content/
locale    myextension en-US jar:chrome/myextension.jar!/locale/en-US/
skin	myextension	classic/1.0	jar:chrome/myextension.jar!/skin/
overlay chrome://browser/content/browser.xul chrome://myextension/content/fedsearchbar.xul

 

  通过与上面对比,我们看到只有content,locale,skin这三具部分做了修改,而overlay没有作修改,相应的源文件内部css,js引用元素也不用作修改。

  另外注意,这个地方修改chrome.manifest文件并不是告诉机器去哪里找content,locale等文件,使用ant builder时spket会自动找到他们的,这个地方这样修改chrome.manifest文件是因为它将会被包含在myextension.xpi文件中,所以需要将他修改成在myextension.xpi文件中相应的形式。

 

5.注意的地方:

   a.在动态开发过程中修改了chrome.manifest文件,刚被修改的效果不能通过Reload all chromes命令立即表现出来,因为chrome.manifest只在浏览器启动时被解析,所以需要重新启动浏览器才可以。

   b.在动态开发过程中修改了install.rdf(这种情况比较少),这时要修改指针文件(pointer file)指向的文件夹的修改时间才可以!在Windows下可以通过在此文件夹中创建一个新的文件夹再删除的方式来达到这个效果。

 

   至此,整个Firefox扩展开发周期结束

分享到:
评论
3 楼 leero 2010-01-17  
请问楼主,我开发的一个鬼东西,在chrome list里面无显示,但是在附加组件列表里面有。
2 楼 seven_cuit 2009-02-19  
terryang 写道

感谢!楼主还在继续着firefox的插件开发吗?

目前还在继续学习Firefox扩展开发
1 楼 terryang 2009-02-05  
感谢!楼主还在继续着firefox的插件开发吗?

相关推荐

    eclipse和firefox浏览器的gwt插件

    在开发GWT项目时,为了方便调试和测试,通常需要在Eclipse中安装GWT插件,并在Firefox中添加相应的扩展。 标题中提到的“eclipse和firefox浏览器的gwt插件”是指用于支持GWT开发的Eclipse插件和Firefox扩展。...

    spket(eclipse插件)

    Spket是一款强大的Eclipse插件,专为开发Firefox浏览器扩展而设计。它提供了一整套集成开发环境(IDE)的功能,帮助开发者更高效、更便捷地创建Firefox扩展,包括代码提示、语法高亮、自动完成等特性,极大地提升了...

    JSON查看器(firefox&eclipse;插件)

    插件)”是指两款专门针对Firefox浏览器和Eclipse集成开发环境的插件,旨在提升开发人员处理JSON数据的效率。 1. Firefox插件版: 这款插件通常会在Firefox浏览器中提供一个直观的界面,以便用户查看HTTP响应中的...

    比较好的开发组合工具 eclipse+pdt+aptana+xdeubg+firebug

    Firebug是Firefox浏览器的一个插件,虽然现在已被Firefox内置的开发者工具所替代,但它在Web开发中曾经扮演着重要角色。Firebug允许开发者实时查看和修改网页的HTML、CSS,还可以进行JavaScript的调试,对于前端...

    Eclipse安装 Aptana插件

    1. **Firefox支持**:Aptana依赖Firefox的JavaScript调试工具,因此,即使你并不打算使用Firefox作为主要浏览器,也建议确保系统中已经安装了Firefox,以防止可能出现的调试问题或其它不可预知的错误。 2. **版本...

    Enabling ABAP in Eclipse

    【Enabling ABAP in Eclipse】是一项让ABAP开发者能够在Eclipse集成开发环境中进行开发的工作。这一功能的引入为ABAP程序员提供了更为现代化和灵活的开发工具,与传统的SAP Development Workbench相比,Eclipse提供...

    JAVA制作火狐内核浏览器源代码

    3. **XULRunner**:在提供的文件"xulrunner-1.8.1.3.en-US.win32.zip"中,XULRunner是Firefox的核心组件,它提供了一个运行环境来执行使用XUL(XML User Interface Language)构建的应用程序。XUL是一种XML标记语言...

    eclipse 集成javascript调试插件

    在这里,你可以配置要使用的浏览器(如Chrome或Firefox)及其路径,并指定要调试的URL。 在JavaScript代码中设置断点是调试的关键步骤。只需在Eclipse的JavaScript编辑器中,点击行号区域,就可以在相应行添加或...

    aptanadebugger1.2&firebug1.2下载(火狐插件)

    当在描述中提到“aptana调试必须下载的火狐插件”,这可能是指为了在Aptana Studio中顺利进行前端调试,需要安装Firebug这款Firefox插件,因为Aptana Studio可以与Firebug集成,通过Firebug提供的接口来实现对浏览器...

    eclipse安装包文件

    对于调试,Eclipse的内置浏览器模拟器或者与Chrome、Firefox等外部浏览器的集成可以帮助你测试和调试Ajax应用程序。 为了进一步优化Ajax开发,你可以考虑安装和配置额外的插件,如jQuery插件,提供对流行JavaScript...

    gwt-firefox-winX86IE--plugin.rar

    4. "gwt-dev-plugin (1).xpi":这是一个Firefox扩展的.xpi文件,用于在Firefox中安装GWT开发插件。与msi文件类似,它将增强Firefox的开发功能,使开发者能够调试GWT应用。 总的来说,这个压缩包提供了在Windows 32...

    Eclipse IE插件

    3. **多浏览器支持**:虽然插件名称提及IE,但现代版本的Eclipse可能还支持其他浏览器,如Firefox或Chrome。这使得开发者能够在不同浏览器环境下测试页面兼容性,确保应用在各种浏览器上都能正常工作。 4. **设置与...

    ICEfaces 2 for eclipse

    9. **兼容性和扩展性**:ICEfaces 2 兼容多种浏览器,包括Firefox、Chrome、Safari和Internet Explorer等,确保应用具有广泛的适用性。此外,它还支持JSF的自定义组件和第三方库,使得开发者可以根据需求进行扩展和...

    fckeditor示例,可以直接导入eclipse部署运行

    1. **跨平台**: FCKeditor支持多种浏览器,包括Internet Explorer、Firefox、Chrome、Safari和Opera,确保了广泛的兼容性。 2. **高度可定制**: 用户可以根据需求自定义编辑器界面,调整工具栏按钮、设置编辑器样式...

    GWT ajax开发(Eclipse Ajax)基础学习

    - **创建UI示例**:在Eclipse环境中,可以通过GWT提供的批处理文件创建项目和应用程序。创建项目后,使用GWT的UI组件和面板,可以构建登录框界面等基本功能。 3. **用GWT进行Ajax开发** - **Ajax技术**:Ajax允许...

    eclipse应用设置.docx

    - **目的**:设置 Eclipse 使用外部浏览器(如 Chrome、Firefox 等)打开 Web 页面。 - **步骤**: - 在 `Window` > `Preferences` 中输入“Web Browser”。 - 选择“General”下的“Web Browser”,取消“Use ...

    终极自动化测试环境搭建:Selenium+Eclipse+Junit+TestNG+Python

    - 下载`selenium-ide-2.2.0.xpi`用于在Firefox中录制脚本。 2. **下载 Selenium RC**: - 下载`selenium-server-standalone-2.33.0.jar`作为模拟服务器端。 3. **下载 IE Driver Server**: - 下载`DriverServer_...

    testng selenium eclipse

    Selenium WebDriver是其核心部分,能够跨浏览器进行测试,如Chrome、Firefox、IE等,确保应用在不同环境下的兼容性。 Eclipse是一款流行的开源集成开发环境(IDE),它提供了丰富的插件系统,使得开发者可以根据...

    jsp调用FCKeditor 实例

    在Eclipse中,新建一个动态Web项目,然后将FCKeditor文件夹放入WebContent目录下,将上述代码添加到JSP页面中,即可运行并测试。 通过以上步骤,你可以在JSP页面上成功集成FCKeditor,提供给用户一个强大的文本编辑...

Global site tag (gtag.js) - Google Analytics