减小字体
增大字体
1.插件编写之Xml基础
1.1. xml的基本知识 xml的编写应该注意以下几点:
- 所有的元素必须有闭合标记;
- XML大小写敏感;
- 嵌套要相互呼应;
- 所有的XML代码都要有根元素 ;
- <xmltag />和<xmltag></xmltag>相同,只是没有内容
1.2. Dreamweaver特定的xml标记
Dreamweaver的高度可定制性,使用户可以定制出一个舒适、方便、高效的工作环境,典型的定制方法有: (1)安装插件 (2)定制菜单 (3)定制快捷方式 (4)修改Objects浮动面板 (5)定制Dreamweaver系统参数
所有的定制方法,都是通过修改Dreamweaver相应的文件或者系统目录,而Dreamweaver的系统是架设在xml结构上,我们所讲的插件制作以及安装,直接影响了相应的文件,比如菜单、快捷方式、浮动面板等等,所以对于Dreamweaver的特定xml标记和规定必须有一定的了解,特别是菜单文件menus.xml和插件预备文件.mxi的格式。
2.1.1 menus.xml文件的分析 在Dreamweaver安装目录下的Configurstion/menus/下能找到menus.xml文件,可以用xml编辑器或者文本编辑器打开,建议读者拷贝一份然后打开,以免操作失误导致系统工作异常。 打开menus.xml你会发现,仔细分析可以看出menus.xml简化结构:
<shortcutlist id="DWMainWindow"> <shortcut key="Cmd+Shift+Z" file="XX.htm" arguments="'XX'" id="XX" /> </shortcutlist> <menubar name="XX" id="XX" platform="win"> <menu name="_XX" id="XX"> <menuitem name="XX" key="Cmd+N" command="XX)" id="XX" /> </menu> <separator id="XX" /> </menubar>
Dreamweaver菜单的特定xml标记详细解释如下: 注:{}里的属性是可选项
(1)<menubar></menubar> |
说明: |
定义Dreamweaver菜单结构中菜单条的内容 |
属性列表: |
name, {app}, id, {platform}
- name:菜单条的名称
- {app}:产品名,有效值为"dreamweaver"和"ultradev",缺省的同时适用于dreamweaver和ultradev
- id:菜单条的ID,每一个都是唯一的
- {platform}: 菜单有效的平台,有效值为"win"和"mac"
|
内容: |
每个<menubar>标签可以包含一个或多个<menu>标签 |
上级标签: |
没有 |
样例: |
Dreamweaver文档窗口使用的菜单定义如下: <menubar name="Main Window" id="DWMainWindow"> <!-- 一些menu标签--> </menubar> |
(2)<menu></menu> |
说明: |
定义Dreamweaver菜单结构中菜单或者子菜单 |
属性列表: |
name, {app}, id, {platform}
- name:菜单名,下划线"_"后面的字符是加速键
- {app}:产品名,有效值为"dreamweaver"和"ultradev",缺省的同时适用于dreamweaver和ultradev
- id:菜单的ID,每一个都是唯一的
- {platform}: 菜单有效的平台,有效值为"win"和"mac"
|
内容: |
每个<menu>标签可以包含一个或多个<menuitem>标签、一个或多个<separator>标签,或者用包含的<menu>标签创建子菜单,当然还可以包含标准的html注释字段,如:<!--注释内容--> |
上级标签: |
包含在<menubar>内 |
样例: |
<menu name="_File" id="DWMenu_File"> <!-- menuitem, , menu, and comment tags here --> </menu> |
(3)<separator></separator> |
说明: |
定义菜单上的分隔线 |
属性列表: |
{app} {app}:产品名,有效值为"dreamweaver"和"ultradev",缺省的同时适用于dreamweaver和ultradev |
内容: |
空 |
上级标签: |
<menu> |
样例: |
<separator /> |
(4)<menuitem></menuitem> |
说明: |
定义菜单项 |
属性列表: |
name, id, {app}, {key}, {platform}, {enabled}, {arguments}, {command}, {file}, {checked}, {dynamic}
- name:菜单名,下划线"_"后面的字符是加速键
- id:菜单的ID,每一个都是唯一的,添加菜单项时要注意
- {app}:产品名,有效值为"dreamweaver"和"ultradev",缺省的同时适用于dreamweaver和ultradev
- {key}:命令的快捷键
Cmd [window里表示Ctrl键,Macintosh里表示Command键] Alt或Opt[window里表示Alt键,Macintosh里表示Option键] Shift [Shift键] Ctrl [Ctrl键] + [表示同时按下几个键] 特殊键 [F1到F12,PgDn, PgUp, Home, End, Ins, Del, Tab, Esc, BkSp, Space]
- {platform}: 菜单有效的平台,有效值为"win"和"mac",如果不指定,那么该菜单在两个平台上都会出现;如果希望在不同的平台上出现不同的菜单,可以设置相同的name,但是设置不同的id,同时设置不同的platform;
- {enabled}:默认值为true,表示正常;false表示灰暗,表示该菜单不是于当前操作;
- {arguments}:用于向javascript函数传递参数
- {command}:指定选择菜单时执行的javascript程序
- {file}:指定包含菜单执行的javascript程序的html文件,文件的路径相对于Configuration目录
- {checked}:被一个javascript表达式附值,当值为true时,表示该菜单项会显示为已经选择
- {dynamic}:如果一个html文件定义了本属性,表示本菜单是动态监测的,通过该文件的javascript来动态控制本菜单的显示;当然首先必须定义file属性,用以指定html文件的位置
|
内容: |
空 |
上级标签: |
<menu> |
样例: |
<menuitem name="_New" key="Cmd+N" enabled="true" command="dw.createDocument()" id="DWMenu_File_New" /> |
(5)<shortcutlist></shortcutlist> |
说明: |
快捷键列表 |
属性列表: |
{app}, id, {platform}
- {app}:产品名,有效值为"dreamweaver"和"ultradev",缺省的同时适用于dreamweaver和ultradev
- id:快捷键列表的ID,有效值为:"DWMainWindow", "DWMainSite", "DWTimelineContext", 和"DWHTMLContext".
- {platform}: 菜单有效的平台,有效值为"win"和"mac"
|
内容: |
可以包含一个或多个<shortcut>标签、标准的html注释 |
上级标签: |
没有 |
样例: |
<shortcutlist id="DWMainWindow"> <!-- shortcut and comment tags here --> </shortcutlist> |
(6)<shortcut></shortcut> |
说明: |
指定快捷键 |
属性列表: |
key, {app}, {platform}, {file}, {arguments}, {command}, id, {name}
- key:同<menuitem>
- {app}:产品名,有效值为"dreamweaver"和"ultradev",缺省的同时适用于dreamweaver和ultradev
- {platform}: 菜单有效的平台,有效值为"win"和"mac"
- {file}:同<menuitem>,只是会覆盖command的设置
- {arguments}:同<menuitem>
- {command}:同<menuitem>,只要设置file和command中的一个就够了
- id:独一无二的快捷键id
- {name}:快捷键的名称,如快捷键Ctrl+W为"Close"
|
内容: |
空 |
上级标签: |
<shortcutlist> |
样例: |
<shortcut key="Cmd+Shift+Z" file="Menus/MM/Edit_Clipboard.htm" arguments="'redo'" id="DWShortcuts_Edit_Redo" /> | 所有操作均针对menus.xml,退出Dreamweaver然后操作,注意备份!
操作 |
具体方法 |
增加菜单 |
增加新的一对<menu></menu> |
增加子菜单 |
在相应的菜单<menu>里增加新的一对<menu></menu> |
删除菜单 |
完整删除相应的<menu></menu> |
移动菜单 |
移动相应的<menu></menu>到预定的位置 |
增加分隔线 |
在预定位置的<menuitem>里增加<separator /> |
删除分隔线 |
删除预定位置的<separator /> | .mxi文件模版代码: <macromedia-extension name="XX" version="1.1" type="Object或Command或Behavior"> <products> <product name="Dreamweaver或UltraDev" version="4" primary="true" /> </products> <author name="作者名" /> <description> <![CDATA[...插件描述...]]> </description> <ui-access> <![CDATA[...插件用法...]]> </ui-access> <files> <file name="XX.htm" destination="$dreamweaver/configuration/xx" /> <file name="XX.gif" destination="$dreamweaver/configuration/xx" /> <file name="XX.js" destination="$dreamweaver/configuration/xx" /> </files> <configuration-changes> <menu-insert insertAfter="XX" skipSeparator="true"> <menuitem name="XX" file="Objects/XX.htm" id="XX" /> <separator id="XX" /> </menu-insert> </configuration-changes> </macromedia-extension>
将本文收藏到QQ书签与更多好友分享
|