在InDesign CC 2017 javascript中,当使用eventListener时;“打开后”;,我怎样才能避免这个警告;没有打开的文档。”;?

在InDesign CC 2017 javascript中,当使用eventListener时;“打开后”;,我怎样才能避免这个警告;没有打开的文档。”;?,javascript,startup,event-listener,adobe-indesign,extendscript,Javascript,Startup,Event Listener,Adobe Indesign,Extendscript,我正在将InDesign CC 2017与Mac OS X El Capitan一起使用,希望在每次打开文件时,都能使用启动脚本文件夹中的脚本对该文件文件路径中的某个字符串执行检查。如果在文件路径中找到该字符串,我只想向用户显示一条消息 选择要打开的文件后,在加载文件之前,我会收到一条警告。“附加的脚本生成以下错误:未打开任何文档。是否要禁用此事件处理程序?” 我想,如果有一个名为“afterOpen”的eventListener,脚本在文件打开之前不会被触发,在这种情况下,我想我不应该得到警告

我正在将InDesign CC 2017与Mac OS X El Capitan一起使用,希望在每次打开文件时,都能使用启动脚本文件夹中的脚本对该文件文件路径中的某个字符串执行检查。如果在文件路径中找到该字符串,我只想向用户显示一条消息

选择要打开的文件后,在加载文件之前,我会收到一条警告。“附加的脚本生成以下错误:未打开任何文档。是否要禁用此事件处理程序?”

我想,如果有一个名为“afterOpen”的eventListener,脚本在文件打开之前不会被触发,在这种情况下,我想我不应该得到警告

#targetengine "onAfterOpen"

main();
function main() {
   var myApplicationEventListener = app.eventListeners.add("afterOpen",myfunc);
}

function myfunc (myEvent) {
    var sPath = Folder.decode(app.activeDocument.filePath);

    if(sPath.indexOf("string in path") >= 0){
        alert("This file is the one mother warned you about.");
    } else {
        alert("This file is good to go!");
    }
}
我的理想解决方案是通过使用更合适的代码来避免警告(这是我希望您能帮助我的),但我也希望有人告诉我如何添加代码来简单地抑制警告

#targetengine "onAfterOpen"

main();
function main() {
   var myApplicationEventListener = app.eventListeners.add("afterOpen",myfunc);
}

function myfunc (myEvent) {
    var sPath = Folder.decode(app.activeDocument.filePath);

    if(sPath.indexOf("string in path") >= 0){
        alert("This file is the one mother warned you about.");
    } else {
        alert("This file is good to go!");
    }
}

提前感谢您的帮助。:)

当事件在对象层次结构中冒泡时,您需要确保事件父对象实际上就是文档:

#目标发动机“开启后”
main();
函数main(){
var ev=app.eventListeners.itemByName(“onAfterOpen”);
!ev.isValid&&app.eventListeners.add(“afterOpen”,myfunc).name=“onAfterOpen”;
}
函数myfunc(myEvent){
var doc=myEvent.parent,sPath;
如果(!(单据实例)返回;
sPath=decodeURI(doc.properties.filePath);
如果(!sPath)返回;
警报(/path/.test(sPath)中的/string)?
“这个文件就是妈妈警告过你的。”
: 
“这个文件很好用!”
);

}
非常感谢!这很有效。没有错误,脚本的功能和我想要的一样。