使用javascript设计取消标记帧

时间:2015-08-25 15:03:58

标签: xml scripting adobe-indesign

我正在尝试查看文档中的所有框架,并确定它们是否标有“复制”标记。如果是,我想创建一个XML结构,并删除它的关联副本标记。这一直工作到昨天。我醒了,它开始说,“myTextFrames [i] .untag不是一个功能。我花了几个小时试图找出原因,我不能。我希望你们有一些想法。谢谢! - Nathan

var myTextFrames = app.activeDocument.textFrames;
var myTextFramesNo = myTextFrames.length;


for (i = 0; i < myTextFramesNo; i++)
{

if (myTextFrames[i].properties.associatedXMLElement.markupTag.name == "copy")
{
//create structure
myTextFrames[i].untag();
}

}

1 个答案:

答案 0 :(得分:1)

那是因为untag是XMLElement对象的方法,而不是诸如文本框架之类的pageItem对象。

&#13;
&#13;
var myTextFrames = app.activeDocument.textFrames;
var i = myTextFrames.length;


while (i--)
{

if (myTextFrames[i].properties.associatedXMLElement instanceof XMLElement
   && myTextFrames[i].associatedXMLElement.markupTag.name == "copy")
{
//create structure
myTextFrames[i].associatedXMLElement.untag();
}

}
&#13;
&#13;
&#13;

IU还会建议您在删除或撤消内容时向后循环;)