| 一 插件编写的预备知识 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>
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 软件插件 (7484篇文章)
- 网页改版是家家难念的经 (0次浏览)
- DWMX+ACCESS制作企业新闻系统 (0次浏览)
- DW8代码工具栏试用 (0次浏览)
- DW MX 中表单数据的传递 (0次浏览)
- DW MX 设计360度全景滚动效果图 (0次浏览)
- DW MX 的快键一览表 (0次浏览)
- Dreamweaver MX中移动层的使用 (0次浏览)
- Dreamweaver MX制作文字特效 (0次浏览)
- Dreamweaver MX 也要 VSS (0次浏览)
- 制作网页的十大诀窍! (0次浏览)



