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

NTKO OFFICE文档控件技术资料

装载NTKO OFFICE文档控件的页面提示"按空格键或Enter键以激活并使用此控件".如何解决?


创建时间:01/17/2007 12:36:10 AM 修改时间: 10/31/2011 05:59:02 PM
分类:BS开发-常见问题
适应版本号:4,0,1,X; 3,0,0,x

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

装载NTKO OFFICE文档控件页面出现提示:"按空格键或Enter键以激活并使用此控件"及其解决方案

1、问题表现


    当打了最新补丁包的IE浏览器访问包含控件的页面时,在控件窗口上方出现"按空格键或Enter键以激活并使用此控件"的提示,如下图所示:

2、原因及示例代码
    这个问题的出现是由于微软在新版本的浏览器中,对于ActiveX控件采用了不同的激活方式。
    具体请参考如下原始文档的描述:[英文]
    http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/activating_activex.asp
    比如,对于如下HTML页面[假设为test.html]:
      <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=gb2312">
      <TITLE>NTKO OFFICE文档控件装载方式修改测试</TITLE>
      </head>
      <body>
      <object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="OfficeControl.cab#version=3,0,0,5" width="100%" height="100%">
      <param name="Toolbars" value="-1">
      <param name="BorderStyle" value="1">
      <param name="Titlebar" value="0">
      <param name="Menubar" value="-1">
      <SPAN STYLE="color:red">不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置。</SPAN>
      </object>
      </body>
      </html>
    您将以上代码复制到记事本,并且保存为test.html文件,并使用浏览器打开,这时将会看到浏览器在控件窗口上方增加了一个虚线框对应的覆盖窗口,并且出现"按空格键或Enter键以激活并使用此控件"的提示。
3、解决方案
    您可以采取如下方法解决此问题:
    1)、将上述代码中的粗体部分,即从<object 开始,到</object>结束的部分,使用如下代码替换:
      <script src="ntkoGenObj.js"></script>
      得到结果如下,并保存test.html文件。
      <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=gb2312">
      <TITLE>NTKO OFFICE文档控件装载方式修改测试</TITLE>
      </head>
      <body>
      <script src="ntkoGenObj.js"></script>
      </body>
      </html>
    2)、在test.html文件的相同目录【或者,在您的当前引用控件网页所在的服务器目录】,创建一个js文件,命名为ntkoGenObj.js.
    3)、在ntkoGenObj.js文件中,输入如下内容,并保存文件。
      document.write('<object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" ');
      document.write('codebase="OfficeControl.cab#version=3,0,0,5" width="100%" height="100%"> ');
      document.write('<param name="Toolbars" value="-1"> ');
      document.write('<param name="BorderStyle" value="1"> ');
      document.write('<param name="Titlebar" value="0"> ');
      document.write('<param name="Menubar" value="-1"> ');
      document.write('<SPAN STYLE="color:red">不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置。</SPAN> ');
      document.write('</object> ');
    4)、从浏览器打开test.html,这时,您将看到浏览器不再显示"按空格键或Enter键以激活并使用此控件"的提示。