Firefox扩展开发-3

之前我们已经把example中的内容大致的过了一遍,现在我们再沿着Firefox官方的文档走一遍,加深理解并且看看有没有弄错的地方。

Introduction
Extensions allow programmers to add new features to Mozilla applications or allow existing features to be modified. Typically, extensions modify the “chrome” of their target application—the user interface and the scripts that add functionalty to that interface. However, it is also possible for extensions to include compiled code in the form of XPCOM components.

扩展给开发人员提供了为Mozzilla应用程序添加新的freature或是修改已有feature的功能。 或者说,扩展修改了目标应用的chrome-用户接口以及为该接口添加功能的脚本。 不仅如此, 扩展还具备以XPCOM组件的形式包含已编译的代码。

这一段提到了chrome的概念,之前我只知道google新出的浏览器叫chrome,而在Mozilla中, chrome有其自己的意义。

另一点是扩展可以包含已编译的代码,这是我们在前两节的示例中没有看到的,不知道都可以包含哪些语言和代码,XPCOM组件又该是什么样子的。


Extension technologies
You will almost certainly need to use the following technologies, although it is not necessary to be an expert in them. You may be able to pick up much of what you need just by examining the source code for other extensions.

下面这些技术都是你将在扩展开发中用到的,尽管你不必成为这些领域的专家,但至少你能够达到可以查看这些源代码的能力。

XUL (XML User-Interface Language). Used to define the onscreen layout of the UI and to attach scripts and style to the interface.

XUL, 全称是XML用户接口语言,用来定义UI在屏幕上的layout以及辅助脚本及style。

JavaScript. The primary scripting language in Mozilla and the language in which most extensions are written.

JavaScript, Mozilla最主要的脚本语言及绝大部分的扩展的编写语言。

DOM (Document Object Model). Used to manipulate XUL in real-time as well as any HTML documents loaded.

DOM, 用于处理XUL已经实时的HTML文档加载。

XPCOM/XPConnect. Mozilla packages together useful functions into XPCOM (Cross-Platform Component Object Model) components, which may then be accessed from external code, including JavaScript via XPConnect. This allows the extension developers access to the preferences database, the filesystem, and many other pieces of Mozilla technology (Extensions can be written in JavaScript, C++, or even Python with PyXPCOM).

XMPCOM/XPConnect Mozilla把许多有用的功能打包成一个XPCOM的组件形式,这样就可以被包括JavaScript在内的其他语言代码通过XPConnect访问。这样便使得扩展开发人员具备访问数据库,文件系统,以及其他Mozilla的技术。

CSS (Cascading Style Sheets). Used to style the interface and to attach XBL bindings to XUL documents.

CSS, 用于为接口提供Style和为XUL文档添加XBL绑定。
这里XBL绑定对于我们来说,是新鲜的东西。

More advanced extensions may require the following technologies.

    * XBL (XML Binding Language). Used to extend XUL, allowing the creation of new types of widgets and associated behaviors.
    * RDF (Resource Description Framework). Used as a data-storage format in some parts of Mozilla and in some extensions.

更多高级的扩展可能还需要以下的技术:
1. XBL,XML绑定语言, 用于扩展XUL, 使其具备创建新的工具类型及向光的行为。
2. RDF, 资源描述框架, 在某些扩展中作为数据存储格式。

这样,其实看下来,真正新的东西,也只有XUL相对比较重要。

你可能感兴趣的:(JavaScript,css,chrome,脚本,firefox)