比较版本

XUL_教程/XUL的结构

修订版 268785:

由 Gavin2026 在 进行的修订 268785

修订版 268786:

由 Gavin2026 在 进行的修订 268786

标题:
1-2 XUL的结构
1-2 XUL的结构
网址缩略名:
XUL_教程/XUL的结构
XUL_教程/XUL的结构
标签:
XUL_Tutorial
XUL_Tutorial
内容:

修订版 268785
修订版 268786
t74    <h3 name=".E5.8C.85.E7.BB.84.E7.BB.87_2">t
75      包组织
76    </h3>
77    <p>
78      由Mozilla提供的包可以在Mozilla的安装目录下的chrome子目录中找到。但仅仅把文件拷贝到chrome目录
>下是不会赋给它任何的权限,也不可以通过chrome URL来访问的,还需要配置才可以。需要按照chrome包格式的要求来组织才可以 
> 
79    </p>
80    <p>
81      一个包的文件通常被组织为一个JAR文件。注意,很象Java中的Jar包,都是Zip格式的。但里面可不是Java程序。这
>也造成了某些人认为开发扩展需要懂Java,其实不是的。只是后缀与Java一样。(不清楚为什么用这个后缀)同时,也可以不打成一个JA 
>R包,就是展开的目录也可以(如果你看到另一个教程XUL App Tutorial,你会看到就没有打成一个JAR包)。 
82    </p>
83    <p>
84      通常一个chrome包有三个目录,但它们都是可选的,分别为:content、skin和locale。
85    </p>
86    <ul>
87      <li>content -- 窗口和脚本
88      </li>
89    </ul>
90    <p>
91      用户界面的定义都放在XUL文件中,这些文件都以.xul为后缀。一个content目录下可以有多个XUL文件,但主窗体文
>件名必须与包名相同。例如editor包必须有一个叫做editor.xul的文件。其它的脚本文件(一般是.js文件,Javascri 
>pt)也放在这个目录下。 
92    </p>
93    <ul>
94      <li>skin -- 样式表、图片,和其它与theme相关的文件
95      </li>
96    </ul>
97    <p>
98      样式表用来描述窗口显示的外观。它们与XUL分离,可以灵活地修改程序的外观。
99    </p>
100    <ul>
101      <li>locale -- 与语言相关的文件
102      </li>
103    </ul>
104    <p>
105      所有界面中用到的文本都放在这里。如果支持多国语言,它们将按语言种类进行组织。只要在这里进行翻译即可实现多语言。 同时在
>每个目录下还应该有一个名为:contents.rdf的文件,它用来描述相关目录的信息清单。Mozilla将读取它,并使用它的内容来 
>注册包,并给这个包分配一个chrome URL,这样这些文件就可以能过这个chrome URL来访问了。如果有没contents. 
>rdf文件,这个包就不能被分配一个chrome URL,因此也就不能通过chrome来访问了。同时要注意,只能你需要通过chrom 
>e URL来访问的目录才需要contents.rdf文件,不需要访问的目录可能不要。再有,如果一个目录下还有子目录,但子目录通过与 
>父目录相同的chrome URL来访问,子目录也可以不要contents.rdf文件。 
106    </p>
107    <p>
108      在locale目录中,语言化文件有两种形式:DTD和属性(properties)文件。DTD(Document Typ
>e Definition,文档类型定义)是XML中常用的文件,它一般是用来定义XML中的元素规则,还可以用来定义XML中出现的实体 
>(entity)元素。XUL要使用DTD中的实体声明,用来显示文本信息。因此如果想实现多语言,就要按语种创建子目录,生成多个DTD 
>文件。属性文件是给脚本使用的。 
109    </p>
110    <p>
111      Mozilla中的包通常是放在chrome目录下,但是你也可以不放在这个目录下,而是放在磁盘任意的地方。在chrome
>目录下的chrome.rdf文件保存了安装了的包、skin、locale的列表及它们的位置。放在chrome下是最常见的。对于存在 
>多种skin和locale的情况,chrome.rdf中保存了激活的配置。 
112    </p>

返回历史