Javascript实例教程(20-11)

HoTMetal中使用Javascript

5.怎样编写脚本来检查上次修改的日期

接着,我们调用当前文档的定制属性集:props = ActiveDocument.CustomDocumentProperties 并且检查这个属性的数字是否不等于零。我们已经在前面的On_Document_Open_Complete 宏中已经保存了,并将它赋值给oldMod:

oldMod = props.Item("LastMod").value

当我们发现oldMod (来自打开的文档) and newMod (来自磁盘)之间的矛盾的时候,我们应该告诉用户是否从磁盘上转载了这个文件:

var Yes = 6;

var No = 7;

var msg = "The disk version of this document has changed from the\n";

msg += "version in memory. Do you want to re-open the document?";

var ret = Application.MessageBox(msg, 36, "Document Changed");

if (ret == Yes) {

ActiveDocument.Reload();

}

最后,我们通过模仿打开的操作来重置当前文档的日期:

Application.Run("On_Document_Open_Complete");

我们想扩展这个更新特性的检查并触发它,而不管在这个文档是当前的还是当这个应用程序是当前的。这时我们可以定义On_Application_Activate宏,这个宏只是调用上面的宏:

1<macro lang="JScript" name="On_Application_Activate"><![CDATA[   
2  
3Application.Run("On_Document_Activate");   
4  
5]]></macro>

现在我们需要复制On_Document_Save功能到On_Document_SaveAs宏:

1<macro <="" lang="JScript" name="On_Document_SaveAs">![CDATA[   
2  
3Application.Run("On_Document_Save");   
4  
5]]&gt;</macro>

最后还是对它进行一下测试吧。先在HotMetaL PRO 6.0中打开一个文档。并在你喜欢的编辑器中打开相同的文档。并在任何地方插入一个空格符再将它保存到磁盘中。当你切换到HoTMetaL应用程序,你将可以得到如图1的信息。

(图1)

Published At
Categories with 网页设计
comments powered by Disqus