我要用comdlg32.ocx打开保存文件对话框,代码如下:
var fd;
try{
  fd = new ActiveXObject("MSComDlg.CommonDialog");
}
catch(e){
  alert(e.message);
}
fd.Filter="Text File(*.txt)|*.txt|";
fd.FilterIndex = 1;
fd.MaxFileSize=128;
fd.ShowSave();
...
在装有VS的电脑上运行是正常的,但是换了一台电脑却提示:Automation服务器不能创建对象.另一台电脑上也装了comdlg32.ocx控件,而且在IE的“管理加载项”中也可以看到它,且是已经启用的。
后来,又做了一个纯HTML的页面(javascript代码是一样的),在装有VS的电脑上正常运行,但在另外那台电脑上还是调用不成功。
高手们帮帮忙呀!!!!!!!!

解决方案 »

  1.   

    1、comdlg32.ocx 的注册问题,修改注册表,增加一个注册项;
    2、浏览器的安全问题,把当前站点加到信任站点,再调整信任站点的安全级别,
      

  2.   

    这个可能是因为ActiveX的问题,试试下面的方法:
    1、如果是使用IE调试的话,将IE里面的ActiveX级别调低,或者将你的Url设置到可信任站点
    (见IE:设置-Internet选项)
    2.如果调试使用的是FireFox,先装一个IE插件,然后继续1中的操作
      

  3.   

    这个ocx需要一个注册文件,名字是:comdlg.lpk,
    在ie中调用需要这样用:<OBJECT CLASSID='clsid:5220cb21-c88d-11cf-b347-00aa00a28331'>   
      <PARAM NAME='LPKPath' VALUE='/resource/comdlg.lpk'>
    </OBJECT>
    <OBJECT CLASSID='CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB' CODEBASE='/resource/comdlg32.cab'></OBJECT>
    这个是comdlg.lpk的代码,如果不能用,告诉我邮箱地址,发给你LPK License Package////////////////////////////////////////////////////////////////////////////////  WARNING:  The information in this file is protected by copyright law    ////  and international treaty provisions. Unauthorized reproduction or       ////  distribution of this file, or any portion of it, may result in severe   ////  criminal and civil penalties, and will be prosecuted to the maximum     ////  extent possible under the law.  Further, you may not reverse engineer,  ////  decompile, or disassemble the file.                                     ////////////////////////////////////////////////////////////////////////////////{3d25aba1-caec-11cf-b34a-00aa00a28331}mWXDqNF2ekGyVjg4QtBySg=AQAAAA=hTwE+fL2GhCjyQgAKy9J+yQAAAAyADgAQwA0AEMAOAAyADAALQA0ADAAMQBBAC0AMQAwADEAQgAtAEEAMwBDADkALQAwADgAMAAwADIAQgAyAEYANAA5AEYAQgA=