hotmetal中使用javascript
6.怎样编写一个保存模块脚本
在本节教程的例子中,我们创建了一个新的保存模块文件对话框。hotmetal里面有几个模板你可以从中进行选择。模板只是一个普通的网页,这个网页被保存hotmetal应用程序目录的template模板中。当你从文件菜单中选择新项目的时候,其中一个标签选项是page from template。当你选择了它,就会弹出一个标签对话框,上面包含了各种模板: general、 webtv、 w3c、 frame pages、 layout。
你可以通过保存当前文件到template目录下的一个目录来创建一个新的模板。下面的宏,即save as 模板,向你展示了怎样使用hmextras.filedlg的displayfiledlg方法创建一个save as对话框。这个对话框使用template目录作为缺省的位置,以下是详细的代码:
var obj = new activexobject(hmextras.filedlg);
var filter = web page template (*.htm, *.html)|*.htm;*.html|all files (*.*)|*.*||;
if (obj.displayfiledlg(0, file save as, filter, application.path + \\template)) {
activedocument.saveas(obj.fullpathname, true); // save and put on recent file list
}
]]>
下面解释一下上面的代码:首先,我们利用hmextras库的filedlg com对象来创建一个activex 控件:
var obj = new activexobject(hmextras.filedlg);
接着利用几个条目来创建一个过滤器:
var filter = web page template (*.htm, *.html)|*.htm;*.html|all files (*.*)|*.*||;
然后我们通过调用obj.displayfiledlg来显示文件对话框,最后我们在如果对话框存在的时候保存文件。
hotmetal中使用javascript
6.怎样编写一个保存模块脚本
让我们增加第一个save as 模板宏到文件菜单中。你可以点击文件菜单条并选择定制。接着选择菜单标签并导航到你想增加新的宏的地方去。点击add submenu(增加子菜单)按钮并填充缺少的项。对话框如图1所示。
(图1)
下面我们测试一下这个菜单项以及宏是如何工作的。拉下文件菜单,你可以看到多了一个save模板项,点击它,你可以得到如图2的对话框:
找到你希望保存文件的目录并给出文件名字,点击save按钮确认。