JS在设计中。自动标记错误

时间:2012-11-09 16:25:18

标签: javascript adobe-indesign

我正在尝试将标签应用于文档中的所有EPS文件。 我的代码:

 #target indesign
var allItems=app.activeDocument.pageItems.everyItem().getElements().slice(0);
for(var i=0;i<allItems.length;i++)
    { 
        var allInnerItems = allItems[i].allPageItems;
        for(var j=0;j<allInnerItems.length;i++)
        {
            (allInnerItems[j].toString() == "[object EPS]") ? 
                allInnerItems[j].parent.autoTag() : alert('false');
        }
    }

代码查找所有EPS并应用于其Rectangle对象AutoTag方法。但我得到了错误:“对象或父级故事已被标记或无法进行评分”。此外,如果我选择一些带有EPS的矩形对象并在用户界面中单击“AutoTag”功能,它将起作用。 也许有人知道,我该怎么办?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为这应该适用于你想要做的事情。

在内部循环中,您忘记将i++更改为j++

此外,您不必获取要对其进行测试的对象的字符串值(即。.toString() == "[object EPS]"),您只需要求constructor

最后,如果您不希望已标记的元素出现更多错误,可以在if语句中添加一个条件,以测试pageItem是否有{{1}在尝试associatedXMLElement之前。

autoTag()