Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Event handling 创建新页面时是否有InDesign事件处理程序?_Event Handling_Adobe Indesign - Fatal编程技术网

Event handling 创建新页面时是否有InDesign事件处理程序?

Event handling 创建新页面时是否有InDesign事件处理程序?,event-handling,adobe-indesign,Event Handling,Adobe Indesign,我只想在inDesign中创建新页面时运行一个函数。Adobe的文档似乎允许您将事件处理程序附加到几乎所有的对象上,但它们没有给出如何在文档级别之后执行此操作的任何示例 var myEventListener = app.eventListeners.add("afterNew", myAfterNewHandler); 如何在创建新页面时触发此操作。我已经尝试用app.document.pages替换app,但它不起作用。我尝试使用MutationEvent, 此代码段在添加新页面时创建带有

我只想在inDesign中创建新页面时运行一个函数。Adobe的文档似乎允许您将事件处理程序附加到几乎所有的对象上,但它们没有给出如何在文档级别之后执行此操作的任何示例

var myEventListener = app.eventListeners.add("afterNew", myAfterNewHandler);

如何在创建新页面时触发此操作。我已经尝试用
app.document.pages
替换
app
,但它不起作用。

我尝试使用MutationEvent, 此代码段在添加新页面时创建带有时间戳的textframe

#目标发动机会话
var doc=app.activeDocument;
var listener=doc.addEventListener(
MutationEvent,
创建虚拟对象
);
listener.name='ooo';
函数create_dummy(e){
如果(e.attributeValue.constructor.name=='Page'){
var tf=e.attributeValue.textFrames.add();
tf.geometricBounds=[1,1,72144];
tf.parentStory.contents=新日期().toString();
}

}
我尝试使用MutationEvent, 此代码段在添加新页面时创建带有时间戳的textframe

#目标发动机会话
var doc=app.activeDocument;
var listener=doc.addEventListener(
MutationEvent,
创建虚拟对象
);
listener.name='ooo';
函数create_dummy(e){
如果(e.attributeValue.constructor.name=='Page'){
var tf=e.attributeValue.textFrames.add();
tf.geometricBounds=[1,1,72144];
tf.parentStory.contents=新日期().toString();
}

}
我找不到任何聪明的方法

以下代码段仅适用于在页面面板或其快捷方式中添加新页面图标

在“文档设置”对话框中设置页面长度会导致模式对话框错误

var doc = app.activeDocument;
var p = doc.pages.length;
var listener = doc.addEventListener(
  MutationEvent.AFTER_ATTRIBUTE_CHANGED,
  create_dummy
);
listener.name = 'ooo';

function create_dummy(e) {
  if (e.attributeValue.constructor.name === 'Page') {
    if (p < e.currentTarget.pages.length) {
      var tf = e.attributeValue.textFrames.add();
      tf.geometricBounds = [1,1,72,144];
      tf.parentStory.contents = e.timeStamp.toString();
    }
    p = e.currentTarget.pages.length;
  }
}
var doc=app.activeDocument;
var p=doc.pages.length;
var listener=doc.addEventListener(
MutationEvent,
创建虚拟对象
);
listener.name='ooo';
函数create_dummy(e){
如果(e.attributeValue.constructor.name=='Page'){
如果(p
多谢各位


我找不到任何聪明的方法

以下代码段仅适用于在页面面板或其快捷方式中添加新页面图标

在“文档设置”对话框中设置页面长度会导致模式对话框错误

var doc = app.activeDocument;
var p = doc.pages.length;
var listener = doc.addEventListener(
  MutationEvent.AFTER_ATTRIBUTE_CHANGED,
  create_dummy
);
listener.name = 'ooo';

function create_dummy(e) {
  if (e.attributeValue.constructor.name === 'Page') {
    if (p < e.currentTarget.pages.length) {
      var tf = e.attributeValue.textFrames.add();
      tf.geometricBounds = [1,1,72,144];
      tf.parentStory.contents = e.timeStamp.toString();
    }
    p = e.currentTarget.pages.length;
  }
}
var doc=app.activeDocument;
var p=doc.pages.length;
var listener=doc.addEventListener(
MutationEvent,
创建虚拟对象
);
listener.name='ooo';
函数create_dummy(e){
如果(e.attributeValue.constructor.name=='Page'){
如果(p
多谢各位

mg

试试这个

#目标发动机“在添加页面上”
var db={};
var main=函数(){
var myIdleTask=app.idletask.item(“onAddingPage”),
onIdleEventHandler=函数(idleEvent){
var doc=app.properties.activeDocument;
如果(!doc){
db={};
返回;
}
如果(!db[doc.id]){
db[doc.id]=doc.pages.length;
返回;
}
否则{
如果(文档页数长度>db[doc.id]){
!app.modalState&&alert(“嘿,你刚刚添加了“+(doc.pages.length db[doc.id])+”页面!是吗?);
}
db[doc.id]=doc.pages.length;
}
};
如果(!myIdleTask.isValid){
myIdleTask=app.idleTasks.add({name:“onAddingPage”,sleep:100});
myIdleTask.addEventListener(IdleEvent.ON_IDLE,onIdleEventHandler);
}
}
main()试试这个

#目标发动机“在添加页面上”
var db={};
var main=函数(){
var myIdleTask=app.idletask.item(“onAddingPage”),
onIdleEventHandler=函数(idleEvent){
var doc=app.properties.activeDocument;
如果(!doc){
db={};
返回;
}
如果(!db[doc.id]){
db[doc.id]=doc.pages.length;
返回;
}
否则{
如果(文档页数长度>db[doc.id]){
!app.modalState&&alert(“嘿,你刚刚添加了“+(doc.pages.length db[doc.id])+”页面!是吗?);
}
db[doc.id]=doc.pages.length;
}
};
如果(!myIdleTask.isValid){
myIdleTask=app.idleTasks.add({name:“onAddingPage”,sleep:100});
myIdleTask.addEventListener(IdleEvent.ON_IDLE,onIdleEventHandler);
}
}

main()此解决方案有效。但是,在页面面板中删除页面或双击页面时,它也会运行该功能。有没有办法区分其他事件?这个解决方案有效。但是,在页面面板中删除页面或双击页面时,它也会运行该功能。有没有办法区分其他事件?