WebOffice在线编辑ActiveX插件(Excel,word等),兼容IE,FireFox,Chrome等浏览器

关于点聚的weboffice ActiveX插件的使用在IE下只需要安装对应weboffice.ocx插件即可实现在线文档编辑。对于非IE如谷歌、火狐浏览器来说就有些不同了的,如果想要兼容谷歌和火狐需要采用标准的NPAPI的开发的插件,具体的需要做以下几个步骤:

1、请安装下面链接地址的插件包

目前版本:官网 点击打开链接 

2、安装插件包完成后调整加载weboffice的容器

  1. <object  id="Control"  
  2.                 TYPE="application/x-itst-activex"  
  3.                 ALIGN="baseline" BORDER="0"  
  4.                 WIDTH="95%"HEIGHT="600px"  
  5.                 clsid="{E77E049B-23FC-4DB8-B756-60529A35FAD5}"   
  6.                 event_NotifyCtrlReady="NotifyCtrlReady"  
  7.                 event_NotifyToolBarClick="NotifyToolBarClick"  
  8.                 event_NotifyWordEvent="NotifyWordEvent">  
  9. </object>  
WebOffice在线编辑ActiveX插件(Excel,word等),兼容IE,FireFox,Chrome等浏览器
<object  id="Control"
                TYPE="application/x-itst-activex"
                ALIGN="baseline" BORDER="0"
                WIDTH="95%"HEIGHT="600px"
                clsid="{E77E049B-23FC-4DB8-B756-60529A35FAD5}" 
                event_NotifyCtrlReady="NotifyCtrlReady"
                event_NotifyToolBarClick="NotifyToolBarClick"
                event_NotifyWordEvent="NotifyWordEvent">
</object>

其中的三个事件如下所示:


  1. //初始化控件 可以初始化加载文档等和设置weboffice的相关属性  
  2. function NotifyCtrlReady() {  
  3.             document.all.Control.LoadOriginalFile("E:\\WordDemo\\Demo\\Demo\\doc\\model.doc""doc");  
  4. }  
  5. //监听工具栏的事件  
  6. function NotifyToolBarClick(id) {  
  7.             //eventinfo.innerText = "NotifyToolBarClick 事件发生,工具栏ID:" + id;  
  8. }  
  9. //监听word操作事件  
  10. function NotifyWordEvent(name) {  
  11.             //eventinfo.innerText = "NotifyWordEvent 事件发生,Word事件名称:" + name;  
  12. }  
WebOffice在线编辑ActiveX插件(Excel,word等),兼容IE,FireFox,Chrome等浏览器
//初始化控件 可以初始化加载文档等和设置weboffice的相关属性
function NotifyCtrlReady() {
            document.all.Control.LoadOriginalFile("E:\\WordDemo\\Demo\\Demo\\doc\\model.doc", "doc");
}
//监听工具栏的事件
function NotifyToolBarClick(id) {
            //eventinfo.innerText = "NotifyToolBarClick 事件发生,工具栏ID:" + id;
}
//监听word操作事件
function NotifyWordEvent(name) {
            //eventinfo.innerText = "NotifyWordEvent 事件发生,Word事件名称:" + name;
}

3、如何让编辑页面根据浏览器不同装载不同的object对象?

这个可以考虑使用IF IE的浏览器条件注释来达到装载不同object对象的目的。具体的核心装载代码如下所示:


  1.  <!--[if IE]>  
  2. <object id="WebOffice1" height="600px" width="95%" style="left: 0px; top: 0px;" classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5"  
  3.     codebase="/ocx/WebOffice.cab#V6,0,5,0">  
  4.     <param name="_ExtentX" value="6350" />  
  5.     <param name="_ExtentY" value="6350" />  
  6. </object>  
  7. <![endif]-->  
  8. <!--[if !IE]> -->  
  9. <object  id="Control"  
  10.         TYPE="application/x-itst-activex"  
  11.         ALIGN="baseline" BORDER="0"  
  12.         WIDTH="95%"HEIGHT="600px"  
  13.         clsid="{E77E049B-23FC-4DB8-B756-60529A35FAD5}"   
  14.         event_NotifyCtrlReady="NotifyCtrlReady"  
  15.         event_NotifyToolBarClick="NotifyToolBarClick"  
  16.         event_NotifyWordEvent="NotifyWordEvent">  
  17. </object>  
  18.  <!-- <![endif]-->  

另外一种兼容性:IE的版本兼容
  <head> <meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;IE=7"></head>
上一篇:Freemarker教程


下一篇:客户端验证:JQuery Validation Plugin