上一节写了一个Extension,添加了一个按钮在FF3的工具栏上。接下来我准备在这个基础上添加一个功能,点击按钮,读取本地磁盘上一个文件的内容,并显示出来。怎么做呢?用Javascript吗?因为我最终的目标是从服务器上下载文件,也可能会传输本地文件到服务器上,用Javascript访问本地文件有诸多限制,而且也无法完成复杂的功能。所以最好是能够调用我编写的 DLL那就最好不过了。怎么做呢?还是在Mozilla网站上找找看吧。
在Mozilla网站上看到,可以自己编写Component来完成一些自定义操作。需要首先安装Gecko SDK(现在叫XULRunner SDK),Windows上有两个版本,1.8是for FF1.5/2.0的,1.9是for FF3.0的,由于我机器上安装的是FF3.0,那么就先下载1.9吧,与FF1.5/2.0兼容的问题以后再说。
下载了XULRunner SDK 1.9,解压到本地后,在环境变量里配置了PATH到xulrunner-sdk的bin目录,以便可以在command prompt下直接运行xulrunner.exe。OK,环境配置完毕,下面来个写个小例子吧。Mozilla提供了一个短小精悍的例子程序,在这里:https://developer.mozilla.org/en/Getting_started_with_XULRunner
这篇文章一步一步教我们编写一个HelloWorld程序,写的很清楚。不过做完这个例子,我有几个疑问:
1、在上一节我们写的Extension中,chrome.manifest这个文件是放在根目录的(与chrome目录同级),为什么这里把它放在了chrome目录里面呢?能否保持和Extension相同?我简单尝试了一下,并修改了chrome.manifest里面content所指向的目录,然后运行了一下,什么都没发生,没有看到正常运行时所弹出的对话框,看来还是解析不正确,是不是xulrunner必须要求chrome.manifest在chrome目录下面呢?
2、application.ini中App节的ID,和Extension的ID(通常是一个GUID)有无关联呢?
3、调用xulrunner.exe以后,会产生两个目录:extensions和updates,这两个目录是干什么用的呢?
另外这里需要特别说明一点:在运行xulrunner去执行application.ini时,千万不能丢掉.exe,即不能写/>xulrunner application.ini,必须是/>xulrunner.exe application.ini,否则会弹出couldn't parse的错误提示,具体是什么原因我也不清楚。
另外,这里还有一篇关于xulrunner的教程,解释了一些概念性的东西:http://blogs.acceleration.net/ryan/archive/2005/05/06/1073.aspx
写完这个例子,感觉方向好像不太对,xulrunner好像主要还是做界面,怎么做组件呢?怎么访问本地磁盘文件、甚至系统注册表?在Mozilla的开发者页面上又看到一个东东:XPCOM,开头的一段介绍文字是这样的:
XPCOM is a cross platform component object model, similar to Microsoft COM. It has multiple language bindings, letting the XPCOM components be used and implemented in JavaScript, Java, and Python in addition to C++. Interfaces in XPCOM are defined in a dialect of IDL called XPIDL.
XPCOM itself provides a set of core components and classes, e.g. file and memory management, threads, basic data structures (strings, arrays, variants), etc. The majority of XPCOM components is not part of this core set and is provided by other parts of the platform (e.g. Gecko or Necko) or by an application or even by an extension.
大概的意思是说XPCOM类似于微软的COM组件概念,它可以定义一些接口,可以在JS、Java、Python以及C++中使用。哈哈,看来这个才是我想要的东西。OK,那接下来我就来研究一下这个东东吧。下一节争取能完成我一开始提到的功能。
分享到:
相关推荐
Firefox插件开发SDK,全称为Firefox Add-on SDK,是一个用于创建Firefox浏览器扩展的强大工具集。这个SDK基于JavaScript和C++,使得开发者可以使用高级语言来编写插件,同时也能利用C++进行性能关键部分的优化。在...
XULRunner是Mozilla的一个基础平台,它提供了一套运行时环境,用于支持使用XUL(XML User Interface Language)和其他相关技术构建的应用程序。XUL类似于HTML,但专为创建桌面应用程序设计,支持跨平台运行。开发者...
火狐浏览器插件,也称为Firefox扩展,是增强或修改浏览器功能的小型软件应用程序。在本案例中,"vc开发火狐插件所需cpp,h等sdk" 提供了使用C++语言开发火狐插件所需的头文件(.h)和源代码文件(.cpp)。这些文件...
标题中的"C#火狐最新插件"指的是使用C#编程语言开发的,针对火狐浏览器的最新版本插件。火狐浏览器(Firefox)是...对于想要学习如何用C#开发火狐插件或者对Geckofx和xulrunner感兴趣的开发者,这是一个宝贵的资源。
火狐浏览器插件,也被称为Firefox扩展,是增强火狐功能和自定义用户浏览体验的一种方式。这些插件是基于开放标准和Web技术构建的,如JavaScript、HTML和CSS,使得开发者可以利用火狐的API来实现各种各样的功能。在...
开发完成后,插件通常会上传到Mozilla的官方插件市场——AMO(Add-ons for Firefox),供用户搜索和下载。也可以选择通过自定义渠道分发,如个人网站或第三方平台。 7. **用户管理**: 用户可以在Firefox的“附加...
XULRunner(XML User Interface Language Runner)是Mozilla基金会开发的一个开源框架,用于运行使用XUL(一种描述用户界面的XML语言)编写的应用程序,包括Firefox插件。 首先,了解XULRunner SDK 14的关键知识点...
4. **Firefox插件支持**:XULRunner可以用来开发Firefox插件,这些插件可以扩展浏览器功能,提供自定义的网页行为或者增强用户体验。XUL和JavaScript结合,使得插件开发更为便捷。 5. **GUI构建**:XULRunner不仅仅...
XULRunner SDK包含了一整套开发所需的库文件、头文件和文档,使得开发者可以在不依赖于特定版本的Firefox的情况下,开发和测试基于XUL的应用程序。这使得应用程序具有更强的独立性,同时也能确保在不同操作系统上的...
XULRUNNER 例子 XULRunner is a Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications that are as rich as Firefox and Thunderbird.
XULRunner,全称为“XML User Interface Library Runner”,是Mozilla基金会开发的一个开源软件框架,用于运行使用XUL(XML User Interface Language)界面描述语言构建的应用程序。这个框架的核心作用是提供了一个...
XULRunner是一个开源的运行环境,它能提供Mozilla Firefox浏览器和其他基于XUL的应用程序所需的运行时组件。 【描述分析】:描述中提到的问题可能是在使用Uptana(可能是用户误拼或者是个别项目名称)时遇到了困难...
这进一步证明了Firefox不仅是一个浏览器,而是一个强大的应用开发框架。 Firefox的这种能力意味着开发者可以创建各种各样的应用程序,这些程序可以无缝集成到浏览器中,或者以单独的应用程序形式运行,提供给用户...
当用户安装Firefox时,实际上是在计算机上安装了一个特定版本的XULRunner。浏览器的大部分功能,如网页渲染、网络通信、插件管理等,都是由XULRunner提供的。每次Firefox更新,其内部的XULRunner版本也会随之更新,...
XULRunner的一个典型应用是Firefox浏览器,它本身就是基于XULRunner构建的。此外,其他一些开源项目,如Thunderbird(电子邮件客户端)和Songbird(媒体播放器),也使用了XULRunner。 在Linux环境下,XULRunner的...
在XULRunner 41.0.2.en-US.win32.sdk中,我们看到的是一个专门针对Windows 32位平台、英文版的SDK(Software Development Kit),这个版本特别适用于开发和编译基于NPAPI(Netscape Plugin Application Programming ...
在XULRunner 29.0 版本中,我们看到了对 Firefox 浏览器引擎的重大更新和改进,这些更新对开发者提供了更稳定、高效且安全的框架来开发应用程序。 **XULRunner 的核心功能** 1. **跨平台支持**:XULRunner 支持...
- XULrunner是Mozilla开发的一个开源平台,用于运行使用XUL(XML User Interface Language)编写的应用程序。 - 它提供了运行GeckoFx所需的各种库和运行时环境,包括网络连接、插件支持、本地存储等功能。 - 对应...
这个例子展示了如何创建一个简单的用户界面和功能。 1. **XUL文件**:`.xul`文件使用XUL语言定义用户界面元素,如窗口、按钮、文本框等。 2. **JavaScript文件**:`.js`文件负责处理用户交互和逻辑控制,与XUL文件...
XULRunner是一个开源的运行时环境,它能够支持基于XUL(XML User Interface Language)的应用程序,包括Mozilla Firefox浏览器。在Java中,通过JVM(Java Virtual Machine)和特定的库,可以将XULRunner内嵌到Swing...