前端的复用一直是一个美好的理想,以dojo为例dojo.dijit包中包含了一组易于复用的组件。这种复用是通过JavaScript建立dom,在网页中通过dojo自己规定的属性标记(dojoType)进行引用的。在Jazz平台上,这种方式有一定的加强,dom可以写成html的形式,与行为分离。
除了dojo的实现方式以外,W3C已经有了一套用于网页组件复用的标准,即XML Binding Language(XBL)。XBL通过一个独立的XML文件,定义组件的DOM片段、Stylesheet的路径、组件的属性、组件数据的getter和setter、对外暴露的方法以及事件响应的handler。而页面要使用该组件需要在style中使用-moz-binding: url()来指定XML文件的路径和binding的id(一个XML中可以定义多个binding)。
如此一来,页面载入时就可以加载XML中定义的DOM片段,实现复用。
一个具体的例子可以参考Moziila网站:
http://developer.mozilla.org/en/XBL/XBL_1.0_Reference/Example_Sticky_Notes
然而XBL目前还没有广泛应用的基础,目前只有Mozilla的浏览器支持了这个标准。据说IE上有与之功能类似的实现,但是与XBL还是有明显的不同。所以眼下要推广这种纯粹前端的复用技术,目前来说还是非常困难的。

