相关文章
博客增加流量的办法
北京网站制作批量消除链接虚线框方法
北京网站设计目录权限设置
网站设计PDF、ZIP、DOC链接的标注
北京网站设计几个对图形进行动态处理的dhtml代码
北京网站设计Dreamweaver MX 2004从零开始(6)
网站设计Flash AS游戏教程:游戏策划(下)人物及控制
网站建设Flash视频教程:1.17 任意变形工具
企通互联dreamweaver mx教程十:调整工作区大小、在布局视图中添加内容
北京网站设计DreamweaverMX技巧之超链接
品牌理念
北京网站建设最佳合作伙伴
北京网站建设专家企通互联
竭诚为您提供网站建设服务!
友好连接
文章搜索
你的位置:首页 >> 网站制作 >> 网页设计北京网站设计教程/dreamweaver/高级 深入DREAMWEAVER插件的奥秘(5)
网页设计北京网站设计教程/dreamweaver/高级 深入DREAMWEAVER插件的奥秘(5)
北京网站制作
1. Command插件的简介北京网站制作
Command命令的功能相当强大,可以操作当前文档、所有打开的文档,甚至于所有驱动器上的Html文档,可以插入、删除、重排所有的Html标签的属性,以及处理注释和文本等等强大功能。北京网站建设
北京网页设计
2.Command插件的工作原理北京网站制作
Command插件的作用流程如下:网页设计
| 1 | 如果定义了canAcceptCommand()函数,Dreamweaver就调用,检测所选择的内容是否适合这个Command,如果canAcceptCommand()返回false,那么Dreamweaver的command菜单里的对应菜单项是灰色的,表示不适合执行这个command |
| 2 | 用户选择某Command命令,或者通过dw.runCommand()函数调用 |
| 3 | 如果定义了receiveArguments()函数,就调用它,处理用户输入的参数 |
| 4 | 如果定义了commandButtons()函数,就调用它,显示特定的按钮,并且赋予每个按钮特定的执行代码 |
| 5 | Dreamweaver检测Command代码里是否存在Form标签,如果存在,首先调用windowDimensions()函数,计算参数选择对话框的尺寸,如果windowDimensions()没有定义,Dreamweaver自动定义对话框的尺寸;最后弹出参数对话框 |
| 6 | 如果<body>标签中存在onLoad句柄,Dreamweaver就执行它,当然如果没有对话框,这一步不执行 |
| 7 | 用户选择参数 |
| 8 | 用户点击特定的按钮时,Dreamweaver执行赋予相应按钮的Command代码 |
企通互联
网页设计
3.Command插件制作实例北京网站设计
在熟悉Command插件的工作原理后,我们也可以开发自己的Command插件了!北京网站建设
网站建设
Example 3:一个状态栏闪烁的Command插件编写网站制作
Ex3.1 具体的效果就是本页状态栏的样子,具体Javascript代码如下北京网站设计
<script language="javascript">北京网站建设
<!--北京网站设计
var FlashMsg = "Command插件编写实战";网页设计
var speed = 700;北京网站建设
var control = 1;北京网站制作
function flash()网站设计
{网站制作
if (control == 1)企通互联
{北京网页设计
window.status=FlashMsg;北京网站设计
control=0;企通互联
} 北京网站制作
else北京网站设计
{网站制作
window.status="";北京网站制作
control=1;网站建设
}北京网页设计
setTimeout("flash()",speed);北京网页设计
}北京网站建设
window.onload=flash;网页设计
// -->网站建设
</script 北京网站建设>网站制作
北京网页设计
Ex3.2 代码分析北京网页设计
首先,确定用户定制参数 北京网站制作,用户需要定制的参数有:网站设计
1、FlashMsg,就是状态栏的显示文本;北京网站制作
2、speed,就是闪烁速度,单位毫秒;北京网站建设
其次,我们发现有一个window.onload=flash事件,我们必须在网页的body标签中加上onload=flash()事件
Ex3.3 开始设计网站设计
Ex3.3.1 设计Flash Message.htm文件北京网站制作
本文件要完成的任务是传递两个参数:一个文本参数和一个时间参数,所以需要一个form标签,两个input输入框,具体代码如下:网站制作
北京网站制作
<html>北京网站建设
<head>网页设计
< 北京网站设计!--注释:插件名称-->北京网站建设
<title>Flash Message</title>网站制作
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">网站制作
<!--Command插件的javascript函数-->北京网站制作
<script src="FlashNav.js"></script>北京网站制作
</head>北京网站设计
<body>网站设计
<!--注释:用于参数传递的form-->网站建设
<form name="theForm" method="post" action="">北京网站设计
<table width="300" border="0" cellspacing="0" cellpadding="0">网站建设 北京网页设计
<tr> 网站制作
<td width="81">显示字符串:</td>北京网站制作
<td width="169">网站制作
<!--注释:字符串输入框-->网页设计
<input type="text" name="myMsg" size="30">网站建设
</td>网页设计
</tr>北京网站设计
<tr> 北京网站设计
<td width="81">闪烁速度:</td>网页设计
<td width="169">网站设计
<!--注释:闪烁速度输入框-->网站建设
<input type="text" name="mySpeed" size="6">企通互联
(单位:毫秒) </td>北京网站设计
</tr>北京网站设计
<tr align="right"> 企通互联
<td colspan="2">北京网站设计
<hr noshade width="100%" size="2">北京网站设计
<!--注释:版权栏-->北京网站设计
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">2001.1.15<br>网站设计
Design by Redidea<br 网站建设>网站建设
Email:Redidea@hotmail.com</font></td>北京网站建设 网站制作
</tr>北京网站制作
</table>北京网站制作
</form>北京网页设计
</body>北京网站制作
</html>企通互联
北京网站制作
Ex3.3.2 设计Flash Message.js文件北京网站制作
本文件要完成的任务是:接受用户的参数,插入一段Javascript代码,然后给body标签加上onload=flash()事件北京网页设计
具体代码如下:网站制作
北京网站设计
//注释:插件对话框按钮设置,并且赋予每个按钮特定的执行函数北京网站设计
function commandButtons(){北京网站建设
return new Array("确定","putRedIn()","取消","window.close()")网站设计
}北京网站建设
企通互联
//注释:按钮"确定"的执行函数网页设计
function putRedIn(){北京网站设计
InsertOnLoad();网站制作
InsertRedScript();网站建设
window.close(); 北京网站制作
}北京网站设计
//注释:执行插入javascript的函数网页设计
function InsertRedScript(){网站建设
var Msg="\"" + document.theForm.myMsg.value +"\""; 网页设计网站建设
var Speed=document.theForm.mySpeed.value;北京网站制作
var RedScript="//Flash Message by Redidea \
";网页设计
RedScript+="var FlashMsg ="+ Msg + ";\
";北京网页设计
RedScript+="var speed ="+ Speed + "; \
";北京网站设计
RedScript+="var control = 1; \
";北京网站建设
RedScript+="function flash(){\
";北京网站设计
RedScript+=" if (control == 1)\
";网站制作
RedScript+=" {\
";北京网站设计
RedScript+=" window.status=" + Msg +";\
";北京网站设计
RedScript+=" control=0;\
";北京网页设计
RedScript+=" } \
";北京网站设计
RedScript+=" else \
";北京网站设计
RedScript+=" { \
";网站设计
RedScript+=" window.status=\"\"; \
";北京网站建设
RedScript+=" control=1; \
";网站制作
RedScript+=" }\
";北京网站建设
RedScript+=" setTimeout(\"flash()\","+ Speed +"); \
";企通互联
RedScript+="} \
";企通互联
网页设计
//注释:获得javascript代码的插入位置网页设计
RedPageDom=dreamweaver.getDocumentDOM("document");企通互联
theScriptNodes=RedPageDom.getElementsByTagName("SCRIPT");北京网页设计
RedHeadNode=RedPageDom.getElementsByTagName("HEAD");网站设计
北京网站制作
isThere=RedHeadNode.item(0).innerHTML.indexOf("Flash Message by Redidea")!="-1";北京网站建设
网站制作
if (isThere)北京网站制作
{网站设计
}网站建设
else{北京网站设计
if(theScriptNodes=="")北京网页设计
{北京网页设计
RedHeadNode.item(0).innerHTML=RedHeadNode.item(0).innerHTML+"<script language=\"Javascript\"> \
"+RedScript+"\
</s"+"cript>";北京网站制作
}网站制作
else{企通互联
theScriptNodes.item(0).innerHTML=theScriptNodes.item(0).innerHTML+RedScript+"\
";网站建设
}北京网页设计
}北京网页设计
}北京网站设计
北京网站设计
//注释:设置特定对象的事件句柄网页设计
function setHandler(obj,eventName,fnCall, optStr) {网站建设
var eventStr,fnName,fnArray=new Array(),i=0;网站制作
eventStr = obj.getAttribute(eventName);北京网站设计
if (eventStr) { 企通互联
fnName = fnCall.substring(0,fnCall.indexOf("("));北京网站建设
fnArray = dreamweaver.getTokens(eventStr,";");北京网站建设
for (i; i<fnArray.length; i++) 北京网页设计
if (fnArray[i].indexOf(fnName+'(') != -1 && (!optStr || 北京网站设计
fnArray[i].indexOf(optStr) != -1)) break;北京网站设计
}北京网站建设
if (fnArray.length>0 && i==fnArray.length && fnArray[i-1].toLowerCase().indexOf("return ")==0) {企通互联
fnArray[i] = fnArray[i-1]; 北京网页设计
i--; 网站设计
}网页设计
fnArray[i] = fnCall; 网页设计
obj.setAttribute(eventName,fnArray.join(";"));企通互联
return true网站建设
}北京网站建设
企通互联
//注释:将onload事件赋予body标签北京网站建设
function InsertOnLoad(){北京网站制作
var AddOnload="flash()";企通互联
var bodyNode = dreamweaver.getDocumentDOM('document').body;网站设计
setHandler(bodyNode,"onload",AddOnload);网页设计
} 网站制作
北京网站制作
4. Command插件的编写注意事项北京网站建设
北京网页设计
1、所有将来插入的代码,都必须在js文件里用函数转化为字符串,然后返回,用按钮触发的函数插入到当前文档;网站制作
北京网页设计
2、Command命令装入Dreamweaver后,会在Command菜单里找到;北京网站制作
北京网站建设
3、另外一种方法是,做成Object插件,然后通过dreamweaver.popupCommand()函数调用已经编好的command网站建设
网页设计
5.Command常用函数列表北京网站设计
网站设计
commandButtons() // 定义command对话框按钮网页设计
canAcceptCommand() // 规定能接受Command的对象网页设计
企通互联 initializeUI() // 初始化用户界面企通互联
windowDimensions() // 定义参数对话框的尺寸北京网页设计
setHandler(obj,eventName,fnCall, optStr) // 设置特定对象的事件句柄
上一篇:网站设计教程/dreamweaver/高级 深入DREAMWEAVER插件的奥秘(4)
下一篇:北京网站制作教程/dreamweaver/高级 深入DREAMWEAVER插件的奥秘(3)