如何判断in design 文档的text frame 中的内容是通过java script 还是action script 改变的?

How to determine whether the content in text frame of in design document changed through java script or action script?

我得到一个要求,通过动作脚本查明文本框架中的内容是否发生了变化。 直到现在我正在与我的服务器端数据进行比较以检查来自 indesign 文档文本框架的内容,但现在我想检查那里是否有任何默认标志以避免服务器端调用。

跟踪更改似乎确实是可行的方法。另一种方法可能是使用空闲事件来监视故事的变化。基本上就是乔希刚才的建议。

#targetengine "storiesChanges"
main();
function main()
{
 var db = {};
 
 var myIdleTask = app.idleTasks.item("checkStories");
 if ( !myIdleTask.isValid ) {
  myIdleTask = app.idleTasks.add({name:"checkStories", sleep:100});
  myIdleTask.addEventListener(IdleEvent.ON_IDLE,onIdleEventHandler, false);
 }

 function onIdleEventHandler(myIdleEvent)
 {
  var doc = app.properties.activeDocument;
  if ( !doc ) {
   db = {}
   return;
  }
  
  var sts = doc.stories, st, id;
  var n = sts.length;
  
  while ( n-- ) {
   st = sts[n];
   id = st.id;
   
   if ( !db[id] ) {
    $.writeln ("Storing "+id );
    db[id] = st.contents;
   }
   else if ( db[id]!=st.contents ) {
    $.writeln ( "Some changes were made on story "+id+" at "+(new Date()) );
    db[id] = st.contents;
   }
   else {
    $.writeln ( "No changes were made for story "+id );
   }
  }
 }
}