Dreamweaver扩展(插件)的开发

对于想进行Dreamweaver扩展(插件)开发的用户来说,一般需要有这样的前提知识:

1,需要了解到Dreamweaver扩展(插件)制作的基本步骤,即了解扩展文件(.mxp)在打包前的文件结构及文件内容。可参看“使用扩展管理器”帮助文档(Macromedia扩展管理器菜单“帮助”);

2,应了解打包前的扩展安装文件(.mxi)的结构及相关语法应用,可参考Dreamweaver扩展帮助文档:Extending Dreamweaver(Dreamweaver菜单“帮助”-“扩展Dreamweaver”);

3,扩展(插件)的应用是方便我们对Dreamweaver的使用,将特定的功能制作成扩展(插件),将大大提高了工作的效率。这也同时说明插件的开发就避免不了与Dreamweaver“内核”打最直接的交道。如何进行,将须了解到Dreamweaver的API(Application Programming Interface 应用编程接口),可参考Dreamweaver API Reference文档(Dreamweaver菜单“帮助”-“Dreamweaver API 参考”)

4,在操作用户、扩展文件、Dreamweaver三者间进行交互,则必须对Javascript有所掌握,否则Dreamweaver扩展(插件)开发无从谈起。


好,先来说说Dreamweaver的扩展(插件)是什么?

无论是在Dreamweaver中插入图像、还是添加行为,归根到底,也就是通过弹出的对话框进行相关设置后,将这些信息内容插入到页面文档中。虽然这是很方便的,但Dreamweaver的设计者不可能会面面俱到,所以还有些功能是不能通过Dreamweaver只要鼠标点点就能实现的。

比如,我需要为网页添加一个“加入收藏”的链接功能,这在Dreamweaver中就没有,要进行这样的操作就必须手动的来输入代码,如:
<a href="Javascript:window.external.AddFavorite('http://www.dw8.cn','缔吧')"> 加入收藏 </a>


这是对一个超级链接添加的Javascript功能。如果每次都要添加“加入收藏”的链接功能,而每次又不可能是同一个站点时,就只有重复地输入、修改该链接代码了。所以,一个该功能的扩展(插件)急需开发出来。

那么这的扩展(插件)文件是什么呢?是一个mxp文件,只要获得该文件就可安装,并在Dreamweaver中使用该插件的功能。
具体扩展(插件)的方法: http://www.dw8.cn/dw8_1/79.asp

当然,我这里已经提供了这样的扩展(插件)MXP文件下载:
http://www.cnbruce.com/test/dwex/fav.mxp



在安装了该插件后,就可以在Dreamweaver中使用该功能了(如上图)。

那么本文这里就来说说这个提供给Dreamweaver用户应用的MXP文件是如何生成的。

首先要明确的就是源文件和目标文件,比如Flash动画,大家最终看到的是swf文件,而制作它的源文件则是fla文件。

所以最终的扩展文件mxp为目标文件,而生成它的主要源文件即是mxi文件,为什么说是主要呢,因为在扩展打包之前除了扩展安装文件mxi外,还可能有网页、脚本、图像等文件,只是最终打包以mxi为准。

那么一个mxi文件,其中都需要包括哪些内容呢?

mxi文件的内容具体都应该有些什么内容,这些内容又如何的组织?可以先参看下现成的文件。

打开 Program Files\Macromedia\Extension Manager\Samples\Dreamweaver 文件夹即可看到三个文件,其中

Blank.mxi文件就是一个空的很纯的MXI文档,这是一个XML格式的文件

为了满足能尽快开发插件的强烈欲望,这些元素就不逐个详细介绍,就谈谈如上fav.mxp的开发,即fav.mxi文件的内容,如下:



<macromedia-extension
    name="加入收藏夹"
    version="1.0.0"
    type="object">
<author name="cnbruce" />

<products>
    <product name="Dreamweaver" version="6" primary="true" />
</products>

<description>
    <![CDATA[这是制作加入收藏夹超级链接的扩展]]>
</description>

<ui-access>
    <![CDATA[弹出对话框中进行进行相关的设置]]>
</ui-access>

<files>
    <file name="fav.htm" destination="$dreamweaver/configuration/objects/common" />
    <file name="fav.gif" destination="$dreamweaver/configuration/objects/common" />
</files>

</macromedia-extension>



可以注意到,macromedia-extension之后的各项参数属性,是在扩展安装后对该扩展的识别

比如 name="加入收藏夹" ,version="1.0.0" , type="object" 分别代表“已安装的扩展”名,“版本”和扩展的“类型”

而 <author name="cnbruce" /> 则表示“创作者”

同时<description>与<ui-access>则分别显示在下方的说明栏中。



那主要的则是

<files>
<file name="fav.htm" destination="$dreamweaver/configuration/objects/common" />
<file name="fav.gif" destination="$dreamweaver/configuration/objects/common" />
</files>

name="fav.htm" 和 name="fav.gif" 分别表示扩展的功能文件和安装后扩展的图标,图标文件名应与扩展功能文件名同

destination="$dreamweaver/configuration/objects/common" 则表示这两个文件将安装于该目录下,在Dreamweaver的体现就是“插入”面板的“常用”类别中。

当然,更详细的mxi文档格式介绍,请下载官方PDF文件阅读:
http://download.macromedia.com/pub/exchange/mxi_file_format.pdf

其实MXI扩展安装文件,就是定义了扩展的一些信息,并选择扩展所需的文件进行安装。

说完了MXI,就该谈谈主要功能文件,即MXI中谈到的fav.htm了

这个文件就是扩展的主要功能,它是连接操作用户与Dreamweaver之间的桥梁,扩展文件的内容应根据功能分析而得。

比如这里是添加“加入收藏”的功能,那么可以肯定每次输入的收藏网址和收藏名称都不同,所以提供两个表单文本输入框,在输入了内容后,在Dreamweaver中自动生成该段链接代码。

所以,fav.htm的主要内容是如下:
<form action="" method="post" name="favform" id="favform"> <table width="254" border="0" cellspacing="3" cellpadding="2"> <tr> <td><label>收藏网址 <input name="favurl" type="text" id="favurl"> </label></td> </tr> <tr> <td><label>收藏名称 <input name="favtext" type="text" id="favtext"> </label></td> </tr> </table> <hr> Welcome To WWW.DW8.CN </form>


有了这个平台,怎样才能使得输入的内容与“加入收藏”的链接代码结合,并最终显示在Dreamweaver的文档中呢?这就不得不说到Javascript和Dreamweaver的API了。

这个文件就是扩展的主要功能,它是连接操作用户与Dreamweaver之间的桥梁,扩展文件的内容应根据功能分析而得。

比如这里是添加“加入收藏”的功能,那么可以肯定每次输入的收藏网址和收藏名称都不同,所以提供两个表单文本输入框,在输入了内容后,在Dreamweaver中自动生成该段链接代码。

所以,fav.htm的主要内容是如下:
<form action="" method="post" name="favform" id="favform"> <table width="254" border="0" cellspacing="3" cellpadding="2"> <tr> <td><label>收藏网址 <input name="favurl" type="text" id="favurl"> </label></td> </tr> <tr> <td><label>收藏名称 <input name="favtext" type="text" id="favtext"> </label></td> </tr> </table> <hr> Welcome To WWW.DW8.CN </form>


有了这个平台,怎样才能使得输入的内容与“加入收藏”的链接代码结合,并最终显示在Dreamweaver的文档中呢?这就不得不说到Javascript和Dreamweaver的API了。

比如函数objectTag()就是插入字符串或代码至用户文档中,并使用return返回值。

This function inserts a string of code into the user’s document. In Dreamweaver MX, returning an empty string, or a null value (also known as "return;"), is a signal to Dreamweaver to do nothing.

那么,可以写入如下的函数内容:


function objectTag() {
var favurl="";
var favtext="";

if (document.favform.favurl.value != ""){
favurl=document.favform.favurl.value;
}
else {favurl=''; }

if (document.favform.favtext.value != ""){
favtext=document.favform.favtext.value;
}
else {favtext=''; }

return ('<A HREF=\"Javascript:window.external.AddFavorite(\'' + favurl +'\',\''+ favtext +'\')\">加入收藏</A>');

}



获得文档中表单元素favurl和favtext的值,并结合到“加入收藏”的链接代码中,最终返回文档显示。

另外,如果还含有displayHelp()函数,则是指明弹出对话框中“帮助”按钮的相应功能,比如:


function displayHelp(){
    dreamweaver.browseDocument("http://www.dw8.cn/");
}


其中dreamweaver.browseDocument即相关API函数,(open the Hotwired home page in a browser)

此外,如果是扩展是弹出窗口式,则在文档首行声明:



<!DOCTYPE HTML SYSTEM "-//Macromedia//DWExtension layout-engine 5.0//dialog">



其他还有比如:

<!DOCTYPE HTML SYSTEM "-//Macromedia//DWExtension layout-engine5.0//floater">
<!DOCTYPE HTML SYSTEM "-//Macromedia//DWExtension layout-engine5.0//pi">

所以,一个完整的fav.htm代码如下

<!DOCTYPE HTML SYSTEM "-//Macromedia//DWExtension layout-engine 5.0//dialog"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>收藏本页</title> <script language="JavaScript"> function objectTag() { var favurl=""; var favtext=""; if (document.favform.favurl.value != ""){ favurl=document.favform.favurl.value; } else {favurl=''; } if (document.favform.favtext.value != ""){ favtext=document.favform.favtext.value; } else {favtext=''; } return ('<A HREF=\"Javascript:window.external.AddFavorite(\'' + favurl +'\',\''+ favtext +'\')\">加入收藏</A>'); } function displayHelp(){ dreamweaver.browseDocument("http://www.dw8.cn/"); } </script> </head> <body> <form action="" method="post" name="favform" id="favform"> <table width="254" border="0" cellspacing="3" cellpadding="2"> <tr> <td><label>收藏网址 <input name="favurl" type="text" id="favurl"> </label></td> </tr> <tr> <td><label>收藏名称 <input name="favtext" type="text" id="favtext"> </label></td> </tr> </table> <hr> Welcome To WWW.DW8.CN </form> </body> </html>


有了MIX扩展安装文件fav.mxi,还有扩展功能文件fav.htm,就剩下扩展图标fav.gif了

http://www.cnbruce.com/test/dwex/fav.gif

以上三个文件保存于同一目录下,打开Macromedia扩展管理器,选择“将扩展打包”,选择fav.mxi文件进行打包,生成提供给用户使用fav.mxp扩展(插件)文件



插件的开发到此结束。

小结DW扩展的开发:MXI扩展安装文件定义扩展信息并选择安装文件和安装位置,扩展功能文件需要在功能分析后使用Javascript及Dreamweaver API相关知识来完成,而图标文件名称与功能文件同即位该扩展在Dreamweaver中的图标。


转载于:https://www.cnblogs.com/luqingfei/archive/2007/08/30/876095.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dreamweaver 件文件名 Dreamweaver 件简介 persistent_layers 不管滚动条如何拉动,这个层在窗口中的位置始终固定不变 P7_PowerToys_18 可以让你方便的入代码,用开始和结束标签加入既存的代码等 justsoalt 用于在你的图片上加入alt标记,它可以利用模板一次为多张图片加入alt说明 calendarPopup 一个弹出日历表格,用以确保输入的日历是按照特定的格式进行输入的,主要特色包括:日历链接,按照需要的方式设定日历的格式,按照需要可以在日期项目间增加分隔符等等功能 MX95982_shortcutIconOB_v1 入.icon图标效果 addToFavoritesBH 制作加入收藏夹的链接 Anchors 建立扩展的命令锚点 BustFrames 让其他网页无法将你的主页加载入框架页中 Calendar 为指定月份建立日历 ClosePopupWindow 制作关闭弹出的窗口 CloseWindowOb 建立关闭当前窗口的链接 mm_flabutton_styles 为DW4增加几款新的Flash按钮样式 mx142100_mmflabuttonstyles 13款Flash Button,并带有.fla的源文件 mx196756_turkeyscounties 80多个国家的一个下拉菜单 FlashImage 响应鼠标事件的图片渐显渐隐效果 real_networks 在页面中入流式播放的Real视频和音频文件 MX131662_pdreloadxtension 从新加载Dreamweaver的各项件,不用重复的启动关闭Dreamweaver了 DateStamp 入一个日期,或者网页的最后更新日期 Email 入一个Email的连接,可以自己指定标题、BB、BBC、以及message! ie55_scroll 自定义浏览器滚动条的特效CSS Marquee 入滚动文字效果 scrubber 去除点击超级链接时的虚线显示 chromeless_win_wind 制作弹出无边浏览小窗口,现在网上最为流行的 scrollablearea 使用层制作IE中可控制上下滚动的看板 right_click_menu_builder 右键菜单扩展功能 flashtext 制作仿Flash的文字效果 typewriter 让一段文字以打字的效果出现 gradient_text 在网页里生成一段色彩渐变的文字 footnote 增加一个弹出的注释,就像image 的alt=…… ie_favicon 你只需要一个漂亮的ico格式图片,您的地址栏IE图标将与众不同 favorite_menu 为DW增加一个Favorites 菜单,类似IE收藏夹 layer_transitions 层的多种转换特效 dhtml_tooltips 为页面或链接增加一个dHTML的脚注(即注释) insert_greeting 根据不同的时段入不同的问候语 script_editor 让你更方便的编辑脚本,包括外部脚本 popup_menu_builder 帮助您轻松创建一个跨浏览器的弹出菜单 TableLines 文章文字各行间都有横线分离 alternate_table_rows 使表格中行与行之间的背景色交替变换 print 支持三种打印页面连接,文字连接、图片连接 preloaddisplay 预先加载页面,如果你的网站下载的速度比较慢,用这个比较好。 swftext 将Drm和Flash结合起来了,选择文本,执行该Command,swf动画就轻易的生成了 SliderMenu 设计导航菜单的绝佳助手,可以用于导航菜单的设计,特别是导航项很多的场合 disable_view_source 让网页源代码无法观看 vmkp_flash_buttons Flash按钮 iframe 内帖窗口(页中页效果) open_picture_window 打开一个与缩略图一样大小的窗口 MX128577_ultimatewindows 建立一个可自定义属性的弹出窗口,亦可建立一个居中的窗口 WordCount 字数统计 PreviousPage 建立返回前一页的超链接 PageTransitions 进入、退出页面的过渡转场效果,比如从中间打开、溶解...... Meta_Generator 网页 Meta 管理器,可以详细设置Meta Fix_Null_Links 把所有的“#”替换成“javascript”来避免一点击它,网页马上就翻到了顶部 advopenwindow 弹出窗口(窗口居中、总在最前面、自动关闭、全屏、无边框窗口) averagedistribute 单元格平均分布 Quick_Title 建立文字型的Title说明 Open_Browser_Window+ 操作弹出式窗口升级版 StyleApplier 表格的鼠标触发效果 checkform 表单验证件 Realplayer 嵌入网页Real播放器件 BannerImageBuilder 创建多图片随机显示 CloseCW 方便的入一个关闭当前页面的按钮,可以选择按钮、图片、或者文字3种方式 tooltips 制作注释 UI_components Flash UIComponent
80多个不常见的符号件.mxp 80多个国家的一个下拉菜单.mxp addToFavoritesBH.mxp Adv HTML Edit.mxp Allaire为ColdFusion开发件.mxp ASP生成HTML 1.2.0修正版.mxp ASP生成HTML件.mxp ASP图片随机显示件.mxp ASP无组件文件上传件2.0版本.mxp Atomz.com的搜索件.mxp Banner交换系统件.mxp Chromeless Windows.mxp Conversa Web CDK技术.mxp coolborder生成很Cool的表格边界.mxp disable_view_source.mxp Dreamweaver CS3 Spry 1.6件更新包.mxp FCKeditor在线编辑器件.mxp Flash效果文字件.mxp IE4以上的转场效果.mxp IE标题栏的文字滚动件.mxp insert_greeting.mxp jump menu件.mxp Marquee.mxp Meta扩展件.mxp MX183945_compare_fields.mxp MyComputer.com提供的一套站点访问跟踪系统件.mxp Oblog 3.0 模板标记件.mxp OLEDB连接件.mxp PHP的include和require件.mxp PHP格式化日期件.mxp php和mysql连接的件.mxp PHP检查表单件.mxp PHP区域横向重复件.mxp PureUpload2.09.mxp qqMailEditor.rar(Pic_Asp).rar qqMailEditor.rarphp(utf8).rar QueryBuilder.mxp Real播放器件.mxp SinaEditor.rar UBBCode自动生成UBB件.mxp Web Photo Album的command2.0版本.mxp YUI_TreeView.mxp 按照W3C的HTML4.01的语法测试HTML标准件.mxp 表单验证件.mxp 表格行颜色交替件.mxp 层变换特效2.0.mxp 层动画效果件.mxp 层或框架中调用URL文件件.mxp 入mtx、mtz格式等Viewpoint Media 3D文件件.mxp 入PHP代码件.mxp 创建一个index页面件.mxp 创建一个JustSo风格的相册件.mxp 打字效果文字件.mxp 单元格平均分布件.mxp 弹出无边小窗口件.mxp 弹出注释件.mxp 导出EXEL格式件.mxp 导出WORD件.mxp 地址栏图标件.mxp 调用CSS文件件.mxp 动态替换CSS件.mxp 多词搜索件.mxp 二级下拉菜单件.mxp 高级HTML编辑器2.01版.mxp 高级表单验证.mxp 高级弹出窗口件.mxp 高级随机图片件.mxp 高级显示区域件.mxp 高级组合搜索件.mxp 高亮显示搜索的关键字.mxp 格式化文本件(维持段落不丢).mxp 根据背景控制表格尺寸件.mxp 根据不同客户端加载不同CSS文件件.mxp 固定层件(二).mxp 固定层件(一).mxp 关闭弹出窗口件.mxp 滚动条效果件.mxp 滚动条主题颜色管理器.mxp 很COOL的可变大小的层件.mxp 横向数据重复的件.mxp 换行显示搜索高亮度文本件.mxp 记录集跳转菜单件.mxp 检查新元素件.mxp 检验控制组件件.mxp 简约版高级分页件.mxp 截取字符长度.mxp 酷酷的表格边框件.mxp 连接到上一个页面连接件.mxp 模板菜单扩展件.mxp 区域横向重复.mxp 全屏窗口件.mxp 日期选择(日历版)件.mxp 删除数据弹出确认对话框.mxp 商用版分页件.mxp 上下滚动区域件.mxp 收藏夹图标件.mxp 树形折叠件.mxp 数学符号件.mxp 搜索结果分页件.mxp 随浏览器窗口变化背景图案件.mxp 套常规通用的表单件.mxp 条件式显示区域件.mxp 同时删除多项记录.mxp 统计在线人数(UD)修正版.mxp 图片载入状态件.mxp 图形计数器.mxp 文档元素树型显示件.mxp 无组件ASP上传文件双字节文件名件.mxp 显示IP对应地区件.mxp 显示在线登录会员名单.mxp 限制文本框内字符长度件.mxp 新闻点击数记录.mxp 新增14个框架组合件.mxp 颜色渐变的文字.mxp 页面载入效果件.mxp 隐藏替换无法显示图片件.mxp 在线播放媒体件.mxp 站点计数器件.mxp 指定页面前进后退次数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值