首页 > 代码库 > 关于HTML使用ComDlg ActiveX 无法弹出相应对话框的问题1

关于HTML使用ComDlg ActiveX 无法弹出相应对话框的问题1

最近发现,开发的Web应用在客户的某些IE(8,9,11)中弹出不了Windows的字体对话框。

通过 F12 跟踪,错误代码是“-2146827850”,错误信息是“ 对象不支持ShowFont属性和方法”

 

问题的原因分析:

      应该是IE无法正确载入相应的ActiveX控件引起的。两种情况

1、客户电脑上没有注册好  ComDlg32.ocx

     解决方法:

  对于32位Windows: 把 ComDlg32.ocx 拷贝到 C:\windows\system32 目录下;

      对于64位Windows: 把 ComDlg32.ocx 拷贝到 C:\windows\system64 目录下;

  使用管理员身份,运行  regsvr32 C:\windows\system32\ComDlg32.ocx

2、HTML中没有按微软的要求编写ActiveX 的引用声明

   如果缺少以下代码,也会出现之上的问题

   <object classid="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
         <param name="LPKPath" value="http://www.mamicode.com/comdlg.lpk">
   </object> 

      解决方法:加入相应的声明

 
测试代码:http://files.cnblogs.com/files/finema/ComDlgTest.rar

关于HTML使用ComDlg ActiveX 无法弹出相应对话框的问题1