基本解释
编辑本段引言
编辑本段应用
这是最令开发人员憎恶的应用程序部分。创建用户界面非常繁琐,但是 XUL 使这变得很容易。XUL 有许多控件,用于创建部件和指定布局。请看清单 4 中定义的一个简单 UI。
清单 4. XUL(/chrome/xulblogger/home.xul)中定义的 UI
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<xul:window id="xulblogger" title="Create Blog Entry" orient="horizontal"
align="start" xmlns="http://www.w3.org/1999/xhtml" height="1000"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<xul:script src="blog.js"/>
<xul:script src="json.js"/>
<xul:vbox height="800">
<xul:hbox>
<xul:label value="Name of entry"/>
<xul:textbox id="name" multiline="false" cols="70"/>
<xul:label value="Signature"/>
<canvas id="canvas" width="300" height="10"
style="border:1px solid gray;">
</canvas>
</xul:hbox>
<xul:textbox id="entry" multiline="true" rows="10" cols="80"/>
<xul:hbox>
<xul:label value="Tags"/>
<xul:textbox id="tags" cols="80" multiline="false"/>
<xul:button id="saveBtn" class="btnClass" label="Save" />
<xul:button id="previewBtn" label="Preview" onclick="preview()"/>
</xul:hbox>
<xul:hbox>
<xul:label value="Publish Date"/>
<xul:datepicker type="grid" value="{new Date()}"/>
</xul:hbox>
<div id="preview"></div>
</xul:vbox>
<xul:script src="canvas.js"/>
<xul:script>read();</xul:script>
</xul:window>
XPCOM 可以使您利用来自许多库的功能。这是 XUL 中重复出现的一个主题:为开发人员提供他们需要的所有构建块,并让他们专注于构建自己的应用程序。并且,XUL 提供了一个大型的 UI 部件库。它也提供了一种方法,此方法使用 XML 绑定语言(XML Binding Language,XBL)来更改这些部件的行为和功能。使用 XBL 可以为部件创建自己的行为,然后将这种行为绑定到部件。如何绑定呢?这是 XBL 一个很聪明的部分。使用一个 CSS 选择器来进行绑定。使用选择器选择一个或多个部件,然后用特定的 CSS 特性 -moz-binding 来指定到包含此行为的 XUL 文件的 URL。
XUL 是一个用于跨平台应用程序开发的有趣框架。也许仅仅是一个有趣的技术框架。
可以用 XUL 编写 Firefox 扩展,就像 Firefox UI 一样。它们可以利用 XUL 强大的覆盖特性。有了覆盖,就可以定位一部分现有的 UI 组件,并插入自己制作的新的 UI 组件。
没有 Gecko,它们如何使用 XUL 呢?答案就在于 XULRunner。XULRunner 在 Gecko 引擎之外提供纯 XUL 运行时环境,从而延续了 Gecko 的模块化特性。这允许您构建应用程序代码中直接包含 XULRunner 的应用程序。构建运行在 XULRunner 上的应用程序时,一个不足之处是需要在应用程序中包含 XULRunner。这导致应用程序大概增加了 12MB。
Firefox 和 XULRunner 使用相同的核心库和 libxul,这允许任何 XUL 应用程序使用 Firefox 作为 XUL 运行时,而不是 XULRunner。
引用:http://dongisland.iteye.com/blog/916238
14

被折叠的 条评论
为什么被折叠?



