XUL有一个姐妹语言,叫做XBL,全称是可扩展绑定语言(eXtensible Bindings Language),这门语言的主要作用就是用来定义XUL组件的行为模式。
绑定
你可以使用XUL定义一个应用程序界面的布局。你也可以通过设置样式来定制这些元素的外观。你还可以通过修改样式来建立新的皮肤。类似滚动条或者复
选框这类经常会被使用的界面元素,你可以通过修改样式表或者设置属性来修改他们的基本外观。但是XUL绝不会允许你修改这些元素的工作方式。比如说,你要
修改滚动条的作用,这是无法用XUL实现的,你需要XBL。
一个典型的XBL文件包括一组绑定列表。每一个绑定项都描述了一个XUL组件的行为模式。比如说,一个绑定项可能会关联到一个滚动条,而且描述了这个滚动条所具有的属性和方法,当使用XUL创建了滚动条以后,自动就会具有XBL描述好的属性和方法。
和XUL一样,XBL也是使用XML来描述的,所以和XUL有着相似的语法规则。下面的示例展示了一个典型的XBL文件的基本骨架:
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl
">
<binding id="binding1">
<!-- content, property, method and event descriptions go here -->
</binding>
<binding id="binding2">
<!-- content, property, method and event descriptions go here -->
</binding>
</bindings>
bindings
元素是XBL文件的根元素,它包含了一个或者多个binding
元素。每一个bingding
元
素都描述了一个绑定项。id属性用于标识每个绑定项,就像上面的例子所展示的那样。这个例子有两个绑定项,一个叫做binding1,一个叫做
binding2。一个可能会被附加到滚动条上,另外一个可能会附加到菜单项上。每个绑定项都可以附加到任何XUL元素上。通过使用class属性,你就
可以没有限制的使用绑定项。注意上面例子中bindings
元素的命名空间,这个命名空间说明我们正在使用XBL的语法。
你可以通过CSS属性-moz-binding,将一个元素关联到一个XBL文件中的指定项上。比如下面这段代码:
scrollbar {
-moz-binding: url('chrome://findfile/content/findfile.xml#binding1');
}
URL表示绑定项“binding1”在“chrome://findfile/content/findfile.xml”这个文件中。
“#binding1”这种在编号前面加井号的语法用来表示特定的绑定项,就像你要指向一个HTML文件中的锚一样。你需要把所有的绑定项放到一个文件
中。上面例子的结果,就是所有的scrollbar元素都会具有你通过“binding1”定义的行为模式。如果你在-moz-binding的url后面没有使用井号定义锚点,那么系统会自动使用这个XBL文件中的第一个绑定项。
在一个绑定项中,你可以定义五种类型的元素:
- 内容(Content):Content下面的子元素将被填充到被绑定的目标元素下面。
- 属性(Properties):属性将被添加到元素上,而且可以通过脚本访问。
- 方法(Methods):方法将被添加到元素上,而且也可以通过脚本直接访问。
- 事件(Events):可以为元素添加键盘和鼠标等事件,同时在绑定项中可以添加事件的默认处理脚本。当然你也可以额外定义新的事件。
- 样式(Styles):可以通过XBL为元素自定义新的样式。
实例
当你建立自定义组件的时候,box
元素应该是再平常不过了,当然你可以使用任何元素,甚至是自定义的。我们为box
元素设置上class属性,这样你就可以为所有class为这个值得box
分配一个绑定。请看下面的例子:
XUL (example.xul
):
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://example/skin/example.css" type="text/css"?>
<window
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
">
<box class="okcancelbuttons"/>
</window>
CSS (example.css):
box.okcancelbuttons {
-moz-binding: url('chrome://example/skin/example.xml#okcancel');
}
XBL (example.xml):<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="okcancel">
<content>
<xul:button label="OK"/>
<xul:button label="Cancel"/>
</content>
</binding>
</bindings>
这个例子建立了只有一个box的window。box元素的class属性已经赋值为“okcancelbuttons”。在样式表中声明class为okcancelbuttons的box元素都被分配了一个定义在XBL文件中的绑定。除了box元素,你还可以使用其他元素,你自定义的元素都可以。
在下一节我们将对这个例子中XBL文件的细节进行详细解说,但现在我们可以做个小结,这个例子的结果就是两个按钮被自动添加到box里面,一个OK按钮和一个取消按钮。(译者注:绑定到哪个元素,就把content下面的内容添加到哪个元素里面)
分享到:
相关推荐
【如何在XBL中读取分区信息】 在Android系统中,特别是在高通(Qcom)平台上,启动流程涉及多个阶段,其中包括XBL(eXtended Boot Loader)。XBL是引导加载程序的一部分,负责初始化硬件并准备加载下一级引导加载...
在计算机编程的历史长河中,XBL(Exec Bin Lib)作为一种跨时代的执行库技术,曾在软件开发领域扮演了至关重要的角色。XBL,全称为Exec Bin Lib,是一种执行库技术,其设计理念是为开发者提供一个简单而基础的运行库...
EIKI爱其LC-XBL20多媒体投影机用户手册 本手册为EIKI爱其品牌的LC-XBL20多媒体投影机提供了详细的使用说明书。该投影机采用了最新的技术,具有便携、耐用、易于操作等特点,适合广泛的应用场景。 多媒体投影机的...
1.1 **XBL是什么** XBL是一种用于创建可重用UI组件的技术,它通过XML来定义用户界面的布局、行为和外观。XBL允许开发者将UI元素的样式、事件处理和逻辑封装在一起,形成独立的组件,便于代码复用和维护。 1.2 **...
垃圾邮件IP解封方法图解(XBL,SBL,PBL,ROKSO) 本文主要介绍了如何解封垃圾邮件IP的方法,并对 Spamhaus 组织下的四种类型的黑名单进行了解释,即 XBL、SBL、PBL 和 ROKSO。 Spamhaus 是一个世界上影响最大的反垃圾...
Mozilla XBL(XML Binding Language)是一种强大的技术,用于在Firefox和其他基于Gecko的浏览器中创建可重用的用户界面组件。XBL允许开发者通过XML来定义元素的外观和行为,结合了XHTML、CSS和JavaScript的功能,...
《xbl_config配置详解》 在IT领域,配置文件是系统、软件或服务运行不可或缺的部分。今天我们将聚焦于“xbl_config”这个特定的配置文件,深入探讨它的用途、结构和重要参数。在这个名为"xbl_config(5).zip"的...
xbl_config.prof
EIKI爱其LC-XBL21用户手册 EIKI爱其LC-XBL21多媒体投影机用户手册是EIKI爱其品牌的产品说明书,该手册详细介绍了LC-XBL21多媒体投影机的特点、设计、网络支持、多媒体功能、安全功能等方面的知识点。 一、网络支持...
总结了xbl中的继承用法,属性继承和事件继承 本资源为火狐扩展
这是 JavaScript 中的 XBL 2 实现。 除了 [ 2.0) 语言,它还包含 [ API)支持 [ 3 Selectors) 以及 [ Extensions to CSS)、[ (文档对象模型 (DOM) 级别 3 事件)和 [ 基础)。 < head > ... < script ...
| ellipsis xbl xml | ui jqgrid css js | i18n | grid locale en js | grid locale cn js | grid locale js | Changes txt | install txt | jquery jqGrid min js | jquery jqGrid src js | jquery 1 9 0 min js ...
使用纯跨平台JavaScript,DOM 1和CSS 1编写XBL样式的小部件的实现。
详细的,从最简单的概念讲解了高通手机的开机过程和详细细节,对你的boot理解很有帮助
在本文中,我们将深入探讨两种常见的数字调制技术——ASK(Amplitude Shift Keying,幅度键控)和FSK(Frequency Shift Keying,频率键控),以及如何在MATLAB环境中实现这两种调制与解调的过程。...
【标题】"gaming-app" 暗示了这是一个与游戏应用相关的主题,可能是游戏软件、游戏开发工具或者与游戏优化相关的应用程序。在IT行业中,游戏应用通常涉及到多个技术领域,包括但不限于图形渲染、网络编程、游戏引擎...
ABL计算机软件开发
### Qualcomm高通手机开机原理详解 #### 一、引言 随着智能手机的普及和技术的发展,了解手机内部工作原理变得越来越重要。Qualcomm作为全球领先的移动通信技术提供商之一,其产品覆盖了众多智能手机的核心部件,...
《Qualcomm手机——开机过程【大揭密】(中文版).pdf》这篇文档详细解析了高通(Qualcomm)智能手机的开机流程,涵盖了从按下电源键到系统完全启动的每一个阶段。在这里,我们将深入探讨这一过程中的关键知识点,以便...
1. gpio22 gpio23当i2c操作,patch包含了两种方式gpio模拟i2c和blsp方式添加 2.lk 阶段读写i2c