zoukankan      html  css  js  c++  java
  • 关于HTML使用ComDlg ActiveX 无法弹出相应对话框的问题1

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

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

    问题的原因分析:

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

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

         解决方法:

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

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

      使用管理员身份,运行  regsvr32 C:windowssystem32ComDlg32.ocx

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

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

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

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

     3、因为安全原因,IE 禁止了相关 ActiveX控件的使用

        解决方法:使用regedit, 对于comdlg32.ocx 相应的注册项是 HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerActiveX Compatibility{F9043C85-F6F2-101A-A3C9-08002B2F49FB},找到并删除它。

      

    参考链接:

    http://stackoverflow.com/questions/1146872/comdlg32-ocx-error-object-doesnt-support-this-property-or-method

    http://stackoverflow.com/questions/5705138/internet-explorer-9-ie9-hangs-after-closing-activex-form-e-g-common-dialog-c

    https://support.microsoft.com/zh-cn/help/240797/how-to-stop-an-activex-control-from-running-in-internet-explorer
    https://answers.microsoft.com/en-us/ie/forum/ie9-windows_7/ie9-internet-explorer-window-becomes-disabled-when/7bd351e9-c94f-e011-8dfc-68b599b31bf5


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

  • 相关阅读:
    ESP-12F WIFI模块开发(NonOS, RTOS, NodeMCU固件编译)(原创)
    如何将笔记本上的SD卡接入Ubuntu虚拟机中(原)
    第2步
    第1步
    详解linux下的串口通讯开发 (转载)
    C中如何调用C++函数 (转载)
    ubuntu下安装与使用json-c(原创)
    static, const 和 static const 变量的初始化问题(定义/声明)
    图片三级缓存的原理
    Windows平台下Git服务器搭建
  • 原文地址:https://www.cnblogs.com/finema/p/6741744.html
Copyright © 2011-2022 走看看