Event handling 创建新页面时是否有InDesign事件处理程序?
我只想在inDesign中创建新页面时运行一个函数。Adobe的文档似乎允许您将事件处理程序附加到几乎所有的对象上,但它们没有给出如何在文档级别之后执行此操作的任何示例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, 此代码段在添加新页面时创建带有
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()代码>此解决方案有效。但是,在页面面板中删除页面或双击页面时,它也会运行该功能。有没有办法区分其他事件?这个解决方案有效。但是,在页面面板中删除页面或双击页面时,它也会运行该功能。有没有办法区分其他事件?