Firefox插件开发(4)——XULRunner的一个例子

上一节写了一个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,那接下来我就来研究一下这个东东吧。下一节争取能完成我一开始提到的功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 要在CentOS 6.8上安装xulrunner.i686包,您可以按照以下步骤进行操作: 1. 打开终端并以root用户身份登录。 2. 确保您的系统已经连接到互联网,并且有权访问CentOS软件仓库。 3. 输入以下命令以更新系统的软件包列表: ``` yum update ``` 4. 安装xulrunner.i686包的依赖库。输入以下命令: ``` yum install libgnomeui-2.i686 ``` 5. 安装xulrunner.i686包。输入以下命令: ``` yum install xulrunner.i686 ``` 6. 等待安装过程完成。系统将自动下载并安装xulrunner.i686包及其相关的依赖库。 7. 安装完成后,您可以通过输入以下命令来验证xulrunner.i686包的安装: ``` rpm -qa | grep xulrunner ``` 如果显示类似“xulrunner-xx.xx”(其中“xx.xx”是xulrunner的版本号),表示安装成功。 请注意,CentOS 6.8是一个过时的版本,不再由CentOS团队提供官方支持。如果您有可能,建议考虑升级到较新的CentOS版本,以便获得更好的性能和安全性。 ### 回答2: 在CentOS 6.8中安装xulrunner.i686包非常简单。下面是安装步骤: 1. 首先,打开终端并使用root用户登录。 2. 使用以下命令更新系统的软件包列表: ```shell yum update ``` 3. 安装xulrunner.i686包: ```shell yum install xulrunner.i686 ``` 系统将自动下载并安装xulrunner.i686包以及其所需的依赖项。 4. 一旦安装完成,您可以使用以下命令验证xulrunner.i686包是否安装成功: ```shell rpm -q xulrunner ``` 如果安装成功,命令的输出将显示安装的xulrunner版本信息。 至此,您已成功在CentOS 6.8上安装了xulrunner.i686包。您可以根据自己的需要使用该软件包开发和执行相应的应用程序。 ### 回答3: 要在CentOS 6.8上安装xulrunner.i686包,您可以按照以下步骤进行操作: 1. 打开终端窗口,并使用root用户登录系统。 2. 确保您的系统已连接到互联网,并能够访问官方的软件源。 3. 运行以下命令更新软件包列表: ``` yum update ``` 4. 安装xulrunner.i686包: ``` yum install xulrunner.i686 ``` 系统会自动检查所有依赖关系并下载所需的软件包。 5. 等待安装过程完成。一旦安装完成,您可以通过运行以下命令来验证安装是否成功: ``` rpm -qa | grep xulrunner ``` 如果成功安装,您将看到xulrunner包的详细信息。 请注意,CentOS 6.8是一个相对较旧的发行版,可能已经不再获得官方支持。建议考虑升级到最新的CentOS版本以获得更好的安全性和性能。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值