Flash JSFL:抑制/自动单击对话框

Flash JSFL:抑制/自动单击对话框,flash,dialog,jsfl,suppress,Flash,Dialog,Jsfl,Suppress,我的JSFL具有上述代码。 在第三行,我看到一个对话框: 标题为“解决库冲突” 两个单选按钮选项:“替换”、“不替换” 两个按钮:“确定”、“取消” 由于此对话框,我必须手动监视 执行脚本并单击按钮 我想要: 1.完全抑制此类对话框。 2.或者通过编程为此类对话框提供默认选项 如何使用JSFL执行此操作?在使用库函数将项目添加到库中之前,您可以尝试检查该项目是否存在: var tmpDoc = fl.createDocument(); /*..some logic...*/ tmpDoc.add

我的JSFL具有上述代码。
在第三行,我看到一个对话框:
标题为“解决库冲突”
两个单选按钮选项:“替换”、“不替换”
两个按钮:“确定”、“取消”

由于此对话框,我必须手动监视
执行脚本并单击按钮

我想要:
1.完全抑制此类对话框。
2.或者通过编程为此类对话框提供默认选项


如何使用JSFL执行此操作?

在使用库函数将项目添加到库中之前,您可以尝试检查该项目是否存在:

var tmpDoc = fl.createDocument();
/*..some logic...*/
tmpDoc.addItem({x:0,y:0},item);

HTH

我能够解决这个问题。诀窍在于,当您添加一个新项目时,它会到达库的顶层并在那里查找冲突,即使库文件夹中的某个地方有一个“相同”的项目

当您使用JSFL(library.moveToFolder)将库项移动到文件夹中相同项的位置时,该项将被替换,并且不会出现冲突对话框

  • 如果可能,请手动将所需的库项目从库的顶层移动到文件夹中。这只执行一次,是对库结构的永久更改
  • 在编写脚本时,将每个项添加到文档中时,调用library.moveToFolder(folderPath、itemPath、true)
  • 这将覆盖文件夹中的项目并跳过提示
  • 根据您的需要,您的具体方法可能会有所不同,但关键是在添加时不要将项目放在库的顶部。先把它们搬到别的地方去

    像往常一样向后弯腰闪光!希望这有帮助


    另外,这也适用于向库中添加组件。

    在CS6中,从“组件”面板向库中添加组件时不再适用。我找到的唯一解决办法是使用一些自动化软件专门单击对话框。
    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());