使用 XUL 实现浏览器扩展,第 1 部分:使用用户界面特性创建一个 Firefox 浏览器扩展

创建超越 Web 浏览器内置功能的扩展。Mozilla 项目的 XUL 引擎是一种用户界面语言,可以用于扩展 Mozilla 浏览器或者创建独立的应用程序。XUL 可以极其轻松地构建跨平台浏览器扩展,本系列的两篇文章将演示如何实现这一过程。

Mozilla 项目团队很早就决定标准化 C++ 中的核心开发,但是它需要创建一个组件系统 XPCOM(Cross Platform Component Object Model),用于在不同平台之间共享核心和扩展功能。它还开发了一种为这些组件设计用户界面的方法,其中使用了一种与平台无关的语言,称为 XUL(XML User Interface Language),读作 “zool”。在 XUL 中使用 XML 没有什么特别之处,团队本来要开发一套全新的语法,但是认为最好将 XUL 视为一种使用 XML 作为基本语法的编程语言。XUL 利用了一些现有 Web 技术,例如 ECMAcript(其 JavaScript 实现尤为出名)、DOM 和 CSS,因此,Web 开发人员应该可以轻松地掌握。其姊妹语言 XBL (eXtensible Bindings Language)用于控制 XUL 元素的动态行为。XUL 和 XBL 功能非常强大,足以在 Mozilla 组件的基础上开发功能完整的浏览器或者其他完整的跨平台应用程序,但是对于大多数开发人员来讲,XUL 更多地用于扩展或处理现有浏览器或其他用户程序的用户界面(XUL 针对这一用例进行了精心设计)。通常,在开发浏览器扩展时,大多数 Mozilla 浏览器的终极目标就是 Firefox,它是 Mozilla 的一个非常流行的独立浏览器。Firefox 使用 XUL 和 JavaScript 构建。它演示了 XUL 的强大功能,但也支持使用 XUL 构建的扩展。

本文囊括了使用用户界面特性创建大多数扩展所需的基本知识 — XUL、CSS、JavaScript 和 DOM。本文并不是对 XUL 的简介 — 您可以通过 参考资料 中的链接找到此类介绍。本文要求您了解该语言的基本概念并展示如何应用这些内容。您还需要了解 JavaScript、DOM 和 CSS 的基本知识。

XUL 提供了直接的方式

XUL 的优点之一就是,大部分情况下,Mozilla 浏览器处理它的方式与任何其他 Web 内容并无二致。这意味着,您可以在开发阶段快速进行测试和部署,然后考虑将开发成果正确打包为应用程序或完整的扩展。一些有用的工具可用于这类快速开发 — Ted Mielczarek 的 Extension Developer's Extension(参见 参考资料),其中包括很多有用的工具,例如允许在线编辑和预览 XUL 的 Live XUL Editor 。他还在其 Web 站点中提供了一个非常简单的 XUL 页面来执行相同的功能(但不包括应用于通过 Web 加载的 XUL 的安全限制)。大部分情况下,我倾向于对 XUL 开发周期使用更为直接的方式:使用一个良好的文本编辑器进行编辑,并且编辑器最好能够提供可以简化 XML 编写的功能,然后将 XUL 文件直接加载到 Firefox 选项卡中即可。再次进行编辑,做出调整或修补,然后为文件重新加载页面。清单 1(stats.xul)是一个简单的 XUL 示例,演示了这种语言的一些功能。该示例允许您输入一个 URL 并在一个面板中查看结果 Web 页面,而在另一个面板查看页面的统计信息。

本文转自: IBM developerWorks 中国
 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值