题
var tmpDoc = fl.createDocument();
/*..some logic...*/
tmpDoc.addItem({x:0,y:0},item);
我的JSFL具有上述代码。
在第三行,我得到了一个对话框:
标题:“解决图书馆冲突”
两个广播按钮选项:“替换”,“不要替换”
两个按钮:“确定”,“取消”
由于这个对话框,我必须手动监视
脚本执行并单击按钮。
我要这两个:
1.完全抑制这类对话框。
2.或编程提供此类对话框的默认选项。
我该如何使用JSFL?
解决方案
您可以尝试在使用Library的 itemexists() 功能:
var doc = fl.getDocumentDOM();
var lib = doc.library;
//check if the item already exists first, if so, keep count of symbols with the same name, append random, etc.
if(!lib.itemExists('item')) lib.addNewItem('movie clip','item');
else lib.addNewItem('movie clip','item'+Math.random());
Hth
其他提示
我能够解决这个问题。诀窍是,当您添加新项目时,它会降落在库的顶层,并在那里寻找冲突,即使在库文件夹中的某个地方有一个“相同的”项目。
而且,当您使用JSFL(Library.MovetOfter)将库项目移动到文件夹中同一项目的位置时,将更换该项目,并且不会出现冲突对话框。
- 如果可能,请手动将所需的库项目从库的顶层移动到文件夹中。这只能完成一次,是对您的库结构的永久更改。
- 在脚本时,当您将每个项目添加到文档中时,请致电库。movetOffOlter(folderpath,itempath,true);
- 这将覆盖文件夹中的项目并跳过提示
根据您的需求,您的确切方法可能有所不同,但是关键是在添加时不要将项目放在库的顶部。首先将它们移动到其他地方。
像往常一样向后弯曲以获得闪光灯!希望这可以帮助。
PS,这也适用于在库中添加组件。
不隶属于 StackOverflow