Javascript实例教程(20) 使用HoTMetal(5)
HoTMetal中使用javascript
5.怎样编写脚本来检查上次修改的日期
这个On_Document_Activate宏是检查磁盘上的文件是否有与利用HoTMetaL编辑的当前文档相同的上次修改的日期。它提示用户该做什么以防日期不匹配。以下是这个宏的具体代码: dedecms.com
<MACRO name="On_Document_Activate" lang="JScript" id="44" tooltip="Hide_On_Document_Activate" dedecms.com
desc="Runs Macro: Hide_On_Document_Activate"><![CDATA[
// Do this for local documents only
if (ActiveDocument.FullName == ActiveDocument.LocalFullName) {
var name = ActiveDocument.LocalFullName;
织梦好,好织梦
if (Application.ReadableFileExists(name)) { // if document has never been saved, do nothing 织梦好,好织梦
var fso = new ActiveXObject("Scripting.FileSystemObject"); copyright dedecms
var f = fso.GetFile(name); copyright dedecms
var newMod = Date.parse(f.DateLastModified);
var props = ActiveDocument.CustomDocumentProperties;
if (props.count != 0) { 本文来自织梦
oldMod = props.Item("LastMod").value;
dedecms.com
if (oldMod != newMod) {
织梦好,好织梦
var Yes = 6; 本文来自织梦
var No = 7; 本文来自织梦
var msg = "The disk version of this document has changed from the"; 织梦内容管理系统
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(); 织梦好,好织梦
}
本文来自织梦
// Reset the timestamp regardless of the user's response copyright dedecms
// This will prevent the dialog from always showing copyright dedecms
Application.Run("On_Document_Open_Complete");
}
copyright dedecms
}
织梦好,好织梦
}
织梦好,好织梦
} 织梦内容管理系统
]]></MACRO>
我们再检查文件是否装载了: ActiveDocument.FullName == ActiveDocument.LocalFullName。然后我们验证一下文件是否被保存到磁盘中: Application.ReadableFileExists(name). 类似于前面的On_Document_Open_Complete 宏,我们创建一个ActiveX控件并且提取出文件的上次修改的日期,代码如下: dedecms.com
var fso = new ActiveXObject("Scripting.FileSystemObject"); 内容来自dedecms
var f = fso.GetFile(name);
dedecms.com
var newMod = Date.parse(f.DateLastModified);

文章评论
共有位Admini5网友发表了评论 查看完整内容