Javascript/ExtendScript/ScriptUI临时窗口消息

Javascript/ExtendScript/ScriptUI临时窗口消息,javascript,window,extendscript,palette,adobe-scriptui,Javascript,Window,Extendscript,Palette,Adobe Scriptui,这应该相对简单。在为AdobeInDesign CS6编写脚本时,我希望有一个窗口/调色板短暂出现,比如说,大约两秒钟,以通知用户已成功到达脚本末尾。我怎样才能做到这一点呢?试试这个: main(); function main(){ var progress_win = new Window ("palette"); var progress = progress_bar(progress_win, 2, 'Doing Something. Please be patient');

这应该相对简单。在为AdobeInDesign CS6编写脚本时,我希望有一个窗口/调色板短暂出现,比如说,大约两秒钟,以通知用户已成功到达脚本末尾。我怎样才能做到这一点呢?

试试这个:

main();
function main(){
      var progress_win = new Window ("palette");
var progress = progress_bar(progress_win, 2, 'Doing Something. Please be patient');
    delay(1);
      progress.value = progress.value+1;
    delay(1);
    progress.parent.close();
    }

// delay function found here
//found here http://www.wer-weiss-was.de/theme157/article1143593.html
  function delay(prmSec){
  prmSec *= 1000;
  var eDate = null;
  var eMsec = 0;
  var sDate = new Date();
  var sMsec = sDate.getTime();
  do {
  eDate = new Date();
  eMsec = eDate.getTime();
  } while ((eMsec-sMsec)<prmSec);
  }
/**
 * Taken from ScriptUI by Peter Kahrel
 * 
 * @param  {Palette} w    the palette the progress is shown on
 * @param  {[type]} stop [description]
 * @return {[type]}      [description]
 */
function progress_bar (w, stop, labeltext) {
var txt = w.add('statictext',undefined,labeltext);
var pbar = w.add ("progressbar", undefined, 1, stop);
pbar.preferredSize = [300,20];
w.show ();
return pbar;
}
main();
函数main(){
var progress_win=新窗口(“调色板”);
var progress=progress\u bar(progress\u win,2,“做点什么,请耐心等待”);
延迟(1);
progress.value=progress.value+1;
延迟(1);
progress.parent.close();
}
//这里可以找到延迟函数
//在这里找到http://www.wer-weiss-was.de/theme157/article1143593.html
功能延迟(prmSec){
prmSec*=1000;
var-eDate=null;
var-eMsec=0;
var sDate=新日期();
var sMsec=sDate.getTime();
做{
eDate=新日期();
eMsec=eDate.getTime();

}虽然((eMsec-sMsec)您的回答为我的脚本提供了一个想法:不要只显示一个弹出窗口说“我完成了!”,而是显示一个进度条!因此,使用,我能够为脚本的开头提供以下代码:

// Creating a progress bar window.
var w = new Window("palette");
var progress = progress_bar(w, 27);
var currentDoc = w.add("statictext");
currentDoc.text = "Processing " + document.name;
w.show();
然后,在整个脚本中,添加
progress.value+=1;
语句(通常在单个进程完成时),总共27条。在主函数末尾,我删除了一行简单的
progress.parent.close();
行。最后,在主函数之后,我删除了
progress\u栏()
功能:

/**
 * Creates the actual progress bar object
 *
 * @param {Palette} w The pallette the progress is shown on
 * @param {number} stop The value which represents 100% of the progress bar
 */
function progress_bar(w, stop) {
    var pbar = w.add("progressbar", undefined, 1, stop);
    pbar.preferredSize = [300, 20];
    return pbar;
}

似乎就是这样!进度条出现了,在处理文件的过程中一直爬行到最后,然后一旦进度条关闭,脚本就完成了!感谢您为我指明了更好的方向,fabiantheblind!

这是对社区的一项很好的服务,您可以花时间分享您的最终解决方案。我们对此表示感谢,这是肯定的e来帮助有类似需求的人。但是,你仍然应该“接受”回答你最初问题的解决方案。谢谢你,dln385。正如你所知,我还是一个新手,不太熟悉这个网站的礼仪。