本技术资料版权所有,禁止分发.©(2003-2007),重庆软航科技有限公司,保留所有权利.NTKO和软航是软航科技的商标

NTKO OFFICE文档控件技术资料

NTKO OFFICE文档控件为何不能自动装载?


创建时间:01/10/2007 11:24:57 PM 修改时间: 10/31/2011 05:58:46 PM
分类:BS开发-常见问题, BS后台开发-Domino平台, BS后台开发-JSP,J2EE开发, BS后台开发-C#.NET,VB.NET, BS后台开发-PHP开发, BS后台开发-ASP开发
适应版本号:4,0,1,X; 3,0,0,x

相关文档:·网页中如何引用NTKO OFFICE文档控件使控件自动安装?
·如何手工卸载和安装NTKO OFFICE文档控件?

NTKO OFFICE文档控件为何不能自动装载?

1、问题表现:


    当访问引用控件的网页时,NTKO OFFICE文档控件窗口不会出现,导致相关的引用控件的Javacript语句无法运行。网页上出现类似“无法加载控件,请检查浏览器安全设定”的错误提示,并且可能有JavaScript无法找到对象的错误提示。

2、此问题和控件本身无关。为了解决NTKO OFFICE文档控件不能自动装载的问题,首先来看看浏览器装载对象涉及到的步骤。(暂时不考虑如防病毒软件或者其他过滤工具的影响)

    对于HTML代码中引用控件的如下代码:
    <object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="/path/to/OfficeControl.cab#version=4,0,0,5" width="100%" height="100%">
    其中:
    1) id="TANGER_OCX"标识控件的JavaScript编程标识,通过document.all("TANGER_OCX")即可得到对控件对象的引用。
    2)clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404标识NTKO OFFICE文档控件的唯一标识。浏览器通过这个clsid来判断访问网页的客户机是否已经安装控件。
    3)在codebase="/path/to/OfficeControl.cab#version=4,0,0,5" 中,前面的/path/to/OfficeControl.cab部分,标识控件自动安装文件在服务器上相对当前网页的URL位置,而#version=4,0,0,5部分标识该网页需要的控件版本号。
    浏览器装载控件的流程大致如下:

3、根据以上流程,当出现以下几种情况,NTKO OFFICE文档控件将不能自动装载:

    1)本地Internet选项中的安全设定,在当前区域禁止下载已签名的ActiveX控件;

    2)引用控件的网页中,<object 标记中的codebase属性指定不正确,导致浏览器无法下载OfficeControl.cab文件;

    3)服务器上的OfficeControl.cab被破坏,失去正确的签名,或者使用了不正确的版本;

    4)虽然服务器上的OfficeControl.cab正确,但是浏览器下载的有问题。这个可能会因为某些WEB服务器的mime的错误配置引起,导致服务器将OfficeControl.cab不以二进制文件的形式发送给浏览器;

    5)本地Internet选项中的安全设定,在当前区域不允许运行ActiveX控件和插件;

    6)还有可能是由于微软的补丁引起,或者其他防病毒软件或者过滤软件阻止了控件安装;


4、您可以按照如下次序检查并排除问题:

    1) 确认本地Internet选项中的安全设定中,允许下载已签名的ActiveX控件,并允许运行ActiveX控件和插件

    2)确认引用控件的网页中,<object 标记中的codebase=部分,正确指向了服务器上的OfficeControl.cab文件的URL[相对当前网页或者相对服务器根]。

    3)从浏览器地址栏直接输入服务器上的OfficeControl.cab文件的URL,包含主机名,确认浏览器出现下载提示并且在下载保存后的OfficeControl.cab文件上,点击右键看属性,在出现的对话框中具有“数字签名”,且签名正确。

    4)如果以上方法还不能解决问题,并且您的系统安装了“微软累积安全更新 MS05-052补丁”,请尝试如下步骤:

      警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。

      1、单击“开始”,单击“运行”,键入 Regedit.exe,然后单击“确定”。
      2、找到以下注册表子项:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility
      3、右键单击“ActiveX Compatibility”,查找NTKO OFFICE文档控件的CLSID:{C9BC4DFF-4248-4a3c-8A49-63A7D317F404},如果该项目存在,右键单击右边的“Compatibility Flags”项目,然后单击“修改”。在“数值数据”框中,选择16进制,输入00800000,然后单击“确定”。
      4、如果该NTKO OFFICE文档控件的CLSID不存在,则右键单击“ActiveX Compatibility”,指向“新建”,单击“项”,键入NTKO OFFICE文档控件的CLSID:{C9BC4DFF-4248-4a3c-8A49-63A7D317F404},然后按 Enter。
      5、右键单击您在步骤 4 中创建的项,指向“新建”,然后单击“DWORD 值”。
      6、键入 Compatibility Flags,然后按 Enter。
      7、右键单击“Compatibility Flags”,然后单击“修改”。
      8、在“数值数据”框中,选择16进制,输入00800000,然后单击“确定”。
      9、退出注册表编辑器。

    5)如果以上方法还不能解决问题,尝试暂时关闭防病毒软件或者其他过滤软件再进行安装。

    6)如果还是不能解决问题,可能是机器配置被破坏,可以尝试进行手工安装。具体请参考相关文档。