Javascript 对话框-没有构造函数

Javascript 对话框-没有构造函数,javascript,windows,dialog,photoshop-script,Javascript,Windows,Dialog,Photoshop Script,我在尝试创建一个对话框时,时断时续地获得了成功。代码是有效的 try { // Create an empty dialog window near the upper left of the screen var dlg = new Window("dialog", "Alert Box Builder"); dlg.frameLocation = [100,100]; dlg.show(); } catch(e) { alert(e); } 有时有效

我在尝试创建一个对话框时,时断时续地获得了成功。代码是有效的

try
{
    // Create an empty dialog window near the upper left of the screen
    var dlg = new Window("dialog", "Alert Box Builder");
    dlg.frameLocation = [100,100];
    dlg.show();
}
catch(e)
{
    alert(e);
}
有时有效,有时我会出错:

Error 22:Window does not have a constructor

我不知道为什么。删除Photoshop首选项和/或以管理员身份运行似乎不起作用(在Win7上运行CC)。

对此我没有任何解释,只是有时Photoshop会破坏首选项文件,这会在创建用户界面元素时导致进一步的问题。当然,我在Windows上也经历过这种情况。最好的办法是去掉首选项文件。这是一大难题,因为它会将Photoshop设置回默认设置。因此,在删除首选项文件之前,请先对首选项文件进行快照,如果可以将工作区另存为默认模式以外的其他模式,请进行快照

首选项文件位于C:\YOURUSERNAME\AppData\Roaming\Adobe\Photoshop SCX中的Adobe Photoshop SCX Prefs.psp中

其中CSX是Photoshop的版本号

  • 删除首选项文件
  • 重新启动Photoshop(它将创建一个新的首选项文件)
  • 关闭Photoshop
  • 将首选项的备份复制到新创建的首选项上
  • 重新启动Photoshop
显然,要做的事情是跳过第一个阶段,只需复制带有备份的首选项文件。这不会强制Photoshop生成新的首选项,windows构造函数错误将持续存在

我能建议你把代码修改成这样吗

catch(e)
{
    //alert(e);
   alert("Photoshop was unable to create User Interface"); 
}
这样您就知道这是一个窗口构造错误,而不仅仅是代码中的错误。恐怕真的没办法了