精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>网络专区>>● 网站建设>>Macromedia>>Dreamweaver -- 织梦工作室>>为Dreamweaver制作插件

主题:为Dreamweaver制作插件
发信人: weidong()
整理人: morefeetin(2000-09-30 00:55:02), 站内信件

  作为一个所见即所得的网页编辑器,Dreamweaver 能够在强手如林的 同类软
件中力拔头筹,我认为这最主要应该归功于 Dreamweaver的完全开 放的插件环境
。由于Dreamweaver的插件就是给予JavaScript 的HTML文件,所以任何人, 只要
通晓一点网页编辑语言, 都可以轻而易举地制作自己 Dreamweaver插件。 所以
,我觉得很有必要在教程中告诉大家如何制作自 己的Dreamweaver插件。

  在揭开Dreamweaver插件的神秘面纱, 先让我们来看看DW肚子里到底 有些什
么,在这儿我就拿Dreamweaver2.0开刀了。打开Dreamweaver2.0所 在目录下的C
onfiguration子目录,你会看到分门别类许多小目录, 在这 些目录中大多藏的
都是HTML文件, 而Dreamweaver正是通过这些HTML文件 中的特殊语法标识来设定
软件运行环境的。由于篇幅有限,在这里我只将 其中与本文有关的目录做个介绍
,至于其余的东东,如果你有兴趣的话, 不妨做个备分然后自己慢慢琢磨。

第一、Behaviors目录   

这个Behaviors目录就同Dreamweaver中的Behaviors 面板中的内容一 一对应,整
个Behaviors目录又分为Actions和Events。先说Events目录, 这里面存着的是不
同版本的浏览器信息,信息保存的方式很简单,看到那 里面的HTML文件了吗,看
看他们的原代码你就明白是怎么回事了。所以以 后就可以做个比如专门for Opa
re的Event在Dreamweaver的Behaviors面板 中调用了。
  再说Actions目录,那里面都是宝,就是在Dreamweaver的 Behaviors 面板按
下那个加号出现的各种Javascript特效。至于如何做自己的Action 嘛,文章后头
会告诉你的(先卖个关子),有点要注意的是不要去打Dre- amweaver自带的Act
ions的主意,如果放错了位置就不好使了。 而且从网 上下载来的Actions作者一
般都说明了该放的目录, 如果你想让它起作用 的话,就得乖乖听作者的话。

第二、Objects目录 

  这个目录和Dreamweaver中的Objects面板相对应, 在Objects目录下 还有许
多子目录,每一个子目录就是Objects面板下的一个类( 实在想不 出好名字的,
就姑且叫它“类”吧)。在这些子目录下面放着各个HTML文 件就是在Objects面
板中用户可以选择插入的东东, 而每个HTML文件都对 应一个18*18大小的同名图
案,这些图案就是出现在Objects面板里的图标。
  做一个最简单的Object:
  新建一个HTML文件,在里面打些字,比如“谢天谢地,总算这个教程 还不至
于太糟糕”。OK,在Objects目录下新建一个目录, 起个自己喜欢 的名字,然后
把刚才那个写了字的HTML文件保存到目录下,保存的时候也 给起个好名字。
  重新运行Dreamweaver,打开Objects面板,默认的类是Common。在C- ommon
上按一下鼠标,选中上一步中新建的那个目录的名字, 瞧见刚才保 存的那个HT
ML文件了吗,摁一下。对了,这就是一个最简单的Object。

  Object进阶:
  Dreamweaver规定了作为Object的HTML文件要在其中用javascript写入 一个
名为objectTag的函数, 然后由Dreamweaver将objectTag的返回值写 入页面中去
。而在页面布局中可以通过表单元素加事件处理器实现互交。 至于具体的细节,
不是一两片文章能够讲清楚的。所以建议感兴趣的朋友 多看看各种Objects的原
代码, 在这里贴上一个我做的可设置参数的插入 mailto标签的Object。
  在贴原代码前,有几点说明:Object文件不支持〈a href〉标签,如 果要值
入超链,可以通过onclik之类的事件处理器打开新窗口实现。 ===============
========= 原代码 ===================
〈html
〈head〉
〈title〉插入mailto标签〈/title〉
〈SCRIPT LANGUAGE="javascript"〉
//"Insert Mailto:"-- a object for macromedia Dreamweaver. Written by A
rky Jun 11. 1999   function objectTag() 
{
  var mailto = "" 
  var cc = "" 
  var subject = ""
  var linktext = ""
  var image = ""
  var border = "" 
  if (document.forms[0].subject.value!="")
    var subject = 'subject=' + escape(document.forms[0].subject.va
lue); 
  if (document.forms[0].cc.value!="")
    var cc = 'cc=' + escape(document.forms[0].cc.value); 
  if (document.forms[0].linktext.value!="")
    var linktext = document.forms[0].linktext.value;
  if (document.forms[0].imagefilename.value!="")  
    if (document.forms[0].border.value!="")
       var image = '〈IMG SRC="' + escape(document.forms[0].imag
efilename.value) + '"            border="' +       esc
ape(document.forms[0].border.value) +'"〉';     else
       var image = '〈IMG SRC="' + escape(document.forms[0]. ima
gefilename.value) +           '" border="0"〉';
  if (document.forms[0].emailaddress.value!="")
    if (document.forms[0].cc.value!="")
      if (document.forms[0].subject.value!="")
         var mailto = '〈A HREF="MAILTO:' + escape      
(document.forms[0].emailaddress.value) + escape(document.forms[0].ques
t.value) + cc + '&' + subject + '"〉' + linktext + image
;     else var mailto = '〈A HREF="MAILTO:' + escape(document.form
s[0].emailaddress.value) + escape(document.forms[0].quest.value) + cc 
+ ' "〉' + linktext + image;    
    else
      if (document.forms[0].subject.value!="") 
         var mailto = '〈A HREF="MAILTO:' + escape(document.fo
rms[0].emailaddress.value) + escape(document.forms[0].quest.value) + s
ubject + ' "〉' + linktext + image;
      else var mailto = '〈A HREF="MAILTO:' + escape(document.for
ms[0].emailaddress.value) + ' "〉' + linktext + image; return mailto; 
 }
// select image
function browseFile()
{
 var fileName = browseForFileURL();
 //returns a local filename
 if (fileName)
   document.forms[0].imagefilename.value = fileName;
}
//Clear the form 
function clearForm()
{
 document.forms[0].emailaddress.value=""
 document.forms[0].subject.value=""
 document.forms[0].linktext.value=""
 document.forms[0].imagefilename.value=""
 document.forms[0].border.value=""  
}
〈/SCRIPT〉
〈/head〉 
〈BODY ONLOAD="clearForm()"〉 
〈form name="mailto"〉 
 〈table border="1" cellpadding=2 bordercolor="#333399"〉
  〈tr〉
   〈td bgcolor="#CCFFCC" align="right" width="129" height="20"〉〈
font face="Arial, Helvetica, sans-serif" size="2"〉Email
    地址:〈/font〉〈/td〉
   〈td colspan="2" bgcolor="#FFFFCC" height="20"〉
    〈input type="text" name="emailaddress" size="40"〉
    〈/td〉
  〈/tr〉
  〈tr〉
   〈td align="right" bgcolor="#CCFFCC" width="129" height="7"〉〈f
ont size="2" face="Arial, Helvetica, sans-serif"〉发送到其他地址: 
    〈/font〉〈/td〉
   〈td colspan="2" bgcolor="#FFFFCC" height="7"〉
    〈input type="text" name="cc" size="40"〉
   〈/td〉
  〈/tr〉
  〈tr〉
   〈td align="right" bgcolor="#CCFFCC" width="129"〉 〈font face="
Arial, Helvetica, sans-serif"〉〈font size="2"〉 主题:〈/font〉〈/font

    〈input type="hidden" name="quest" value="?"〉
   〈/td〉
   〈td colspan="2" bgcolor="#FFFFCC"〉
    〈input type="text" name="subject" size="40" value=""〉
   〈/td〉
  〈/tr〉
  〈tr〉
   〈td bgcolor="#CCFFCC" align="right" width="129"〉 〈font face="
Arial, Helvetica, sans-serif"〉〈font size="2"〉 用来表示连接的文字:〈
/font〉〈/font〉〈/td〉
   〈td colspan="2" bgcolor="#FFFFCC"〉
    〈input type="text" name="linktext" size="40"〉    〈/td〉

  〈/tr〉
  〈tr〉
   〈td bgcolor="#CCFFCC" align="right" width="129"〉 〈font face="
Arial, Helvetica, sans-serif"〉〈font size="2"〉 用来表示连接的图象:〈
/font〉〈/font〉〈/td〉
   〈td colspan="2" bgcolor="#FFFFCC"〉
    〈input type="TEXT" name="imagefilename" size="27"〉
         〈input type="button" value="浏览" onClick="browseFil
e()" name="linkpic"〉
   〈/td〉
  〈/tr〉
  〈tr〉
   〈td bgcolor="#CCFFCC" align="right" width="129" height="2"〉〈f
ont face="Arial, Helvetica, sans-serif"〉 〈font size="2"〉图象边宽:〈
/font〉〈/font〉〈/td〉 
   〈td width="65" bgcolor="#FFFFCC" height="2"〉
    〈input type="TEXT" name="border" size="4"〉
   〈/td 〉
   〈td width="186" align="right" bgcolor="#FFFFCC" height="2"〉〈f
ont face="Arial, Helvetica, sans-serif" size="2"〉
    〈font size="1"〉Written by Arky〈br〉
    〈font color="#FF3333"〉mail to: [email protected]〈/font〉 〈/font
〉〈/font〉 〈/td〉
  〈/tr〉 
 〈/table〉
〈/form〉
〈a href="MAILTO:"〉〈/a〉
〈a href="MAILTO:"〉
〈/a〉
〈a href="MAILTO:"〉
〈/a〉 
〈/body〉 
〈/html〉
======================== 代码结束 =================== 
  关于Action:   Action的原理和Object相同,但要比Object复杂多得多,
至于详细的 内容可以参考Macromedia提供的Dreamweaver behavior developmen
t kit & tutorial 


----------------------------------------------------------------------
----------


--
==============================================
  苦咖啡: http://coolcafe.163.net
           http://www4.netease.com/~weidong
           http://person.zj.cninfo.net/~weidong
  E-MAIL: [email protected]
===============================================

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.102.221.209]

[关闭][返回]