哈哈,现在向你介绍我的新产品:iNewS Tags Manager,该产品是用蜂蜜,川贝,桔梗,加上天山雪莲配制而成,不须冷藏,也没有防腐剂,除了毒性猛烈之外,味道还很好吃——嘿嘿,其实就是一个 Dreamweaver 的插件,用来配合 iNewS 系统的标签使用。点击下面的地址下载试用:
插件下载址
未封装的源文件下载地址
如果想了解 iNewS 企业内容管理系统及 iNewS 标签,请查看 iNewS 的在线帮助文件:http://inews.com.cn/doc/。
这个插件可以像普通的 HTML 标签那样插入和编辑 iNewS 标签,开发过程涉及到以下几个 Dreamweaver 扩展 API:
1、插入面板对象(Insert Bar Objects);
2、命令(Commands);
3、属性检查器(Property Inspectors);
4、翻译器(Data Translators);
技术并不复杂,只要有一定的 JavaScript 基础,对 HTML、DOM 和正则有了解,做出一个这样的插件是没什么问题的。
下面是已经测试过的 Dreamweaver 版本兼容性记录,其中大部分的问题都已经解决了。以下如果没有特别说明,使用的 Dreamweaver 都是中文版:
Dreamweaver 4:
1、Dreamweaver 4 的插件不会安装到用户的 Application data 文件夹——事实上 Dreamweaver 4 也没有在用户文件夹里创建任何 Application Data 文件——而是直接安装到 Dreamweaver 的程序文件夹。这可能和 Extension Manager 的版本有关,与 Dreamweaver 4 一起安装的 Extension Manager 的版本是 1.3.002,它甚至不能识别 Dreamweaver 8 和 Flash 8。插件第一次安装时报错,第二次安装则成功,因为没有反复地尝试,所以也不能确定第一次的报错是不是偶然。
2、插入面板上的图标不显示,但显示顺序是正确的。因为没有搜索到 insertBar.xml 或者名称类似的文件,所以错误的原因也无从判断,但是标签能够按照预定的顺序而不是按照文件名称的顺序来显示,证明还是有相关的文件在控制的。而插入菜单则显示无误,并且也找到了 menus.xml。
3、插入对话框完全正常,返回的代码目前还没有发现错误,替换代码的图标可以显示,但是看样子 Dreamweaver 4 不支持 PNG 的透明,图片中的阴影都变成了黑色,令人怀疑是不是曾经被烘烤过度。选中该段代码的时候,属性检查器不会启动,不过所有的属性检查器文件都可以在 Inspectors 文件夹里面找到,查看 Dreamweaver 4 的相关帮助,属性检查器的 API 却似乎和最新的版本并无不同之处,看来只要进一步的研究,实现 Dreamweaver 4 的兼容还是有可能的,就算不能兼容,在现在的基础再修改出一个能在 Dreamweaver 4 中使用的插件,也是比较容易的。
4、2 月 17 日,决定放弃对 Dreamweaver 4 的兼容性支持。刚才发现最新的 Extension Manager 也没有提供对 Dreamweaver 4 的支持,你不能通过它为 Dreamweaver 4 安装插件。
Dreamweaver MX:
1、感谢小荷帮我测试,因为我没安装该版本,所以只知道插入面板上的图片不能正确显示。推测这可能是因为图标的格式不相符,Dreamweaver 提示图标支持 .gif 格式,但不确定是否支持 .png 在内的其他格式。看来华丽的投影效果在低版本不能实现了——已经证实使用 .gif 图片可以正常显示。
2、属性检查器能正常启动,但是文本框的高度太高了,这是因为在开发的时候,Dreamweaver 8 中默认的高度看起来比较逼仄,所以我自行将其定义为 18px。
Dreamweaver MX 2004:
1、尚未经过测试,但是对该版本的兼容性持乐观态度。
2、该版本开始支持 .png 图像的透明效果,但是属性检查器的文本框过高的问题仍然存在。
3、该版本开始将插件安装在用户的 Application data 文件夹里面。
Dreamweaver 8:
这是我用来开发插件的平台,最少在我和我同事的系统上面没有兼容问题。但是要说明的是属性检查器反应比较慢一点,使用时可能会有一些延迟的现象。Macromedia 官方就推荐用 C 或者 C++ 来开发属性检查器的,因为 JavaScript 开发的属性检查器效率太低。
欢迎大家帮我测试——虽然本身没有强调英文版 Dreamweaver 及英文操作系统上面的兼容性,但是非常欢迎使用英文版 Dreamweaver 的朋友把问题反馈给我,因为没有使用 UTF-8 的编码,我怀疑会显示为乱码——并一起探讨 Dreamweaver 插件开发的相关问题,我会慢慢地把我的经验和心得写出来,谢谢大家^_^