共计 1878 个字符,预计需要花费 5 分钟才能阅读完成。
一、历史背景
在 2015 年的支流浏览器版本中,因为能够间接调用微软开源的 ActiveX 控件,能够实现微软 Office 软件的在线编辑及审阅性能,然而从 2015 年开始,各大支流浏览器先后勾销了对 NPAPI 插件,导致在线编辑 Office 软件成为了一个难题。尽管起初有商业公司开发的相干控件,然而还是无奈 克服 ActiveX 控件固有的缺点,不仅限度了浏览器的版本,还须要用户独自设置浏览器平安设置,导致用户体验极差。
起初随着 SAAS 模式的衰亡,网页在线编辑文档也越来越风行,很多巨头公司都公布了在线 Office 服务,尽管这些服务在多人合作、跨平台等方面有劣势,然而存在的问题也很多,比方桌面版 Office 就存在一些性能缺失:须要网络随时放弃在线、不能保留桌面生成的文档、表格过大关上的时候卡死、多文档同时编辑板式不统一等,最要害的是在线 Office 服务很难整合到本人公司的 OA、GRM、ERP 中去,最好的方法还是须要在桌面 Office 根底上,通过技术手段让其晦涩的运行在 Chrome、Firefox、Edge、360、Opera、QQ 等支流版本浏览器中。
二、现有计划
1. 浏览器插件计划
此计划只实用于 IE 浏览器,通过在网页中 间接运行 ActiveX 控件调用桌面 Office 软件的自动化接口来实现,收费 DsoFramer 及点聚 WebOffice 控件都是基于此原理,另外一些免费的如:重庆软航 NTKO Office 文档控件、北京卓正 PageOffice、广州华尔太 WebOffice 控件也是基于此原理。2021 年初随着 Chrome 对 Flash Player PPAPI 插件的反对,浏览器插件的计划就彻底生效了。
2. 特定浏览器计划
一些公司为了升高开发成本,又想持续应用公司原有零碎,被迫持续应用安全漏洞较多的低版本 Chrome 或者 360 等其余低版本浏览器,低版本浏览器的安全漏洞和 BUG 十分多,导致 Office 文档控件在此基础上行应用也困难重重。
3. 外接程序计划
各浏览器禁用 NPAPI 插件后,各个厂商纷纷应用浏览器内部协定来 启动独立的 EXE 外接程序,看起来问题失去了很好的解决,然而每次运行中用户端都会弹出对话框,让用户不胜其烦。用户体验极差,如果用户此时曾经关上了文档,还非常容易引起文档异样,导致文件失落等状况。
4. 双核计划
通过 Chrome 等浏览器上的扩大程序 IETab 来实现,此计划同样会有 ActiveX 控件弹窗,用户体验很差。
三、最终计划:
通过上述 4 个计划能够看出,如果想在支流浏览器中关上、编辑、保留微软 Office 文档,外围点就在于独立于浏览器之外并且能很好兼容各浏览器。这个就是明天介绍的曾经十分成熟的商业化产品— 猿巨匠中间件 。
猿巨匠中间件的微软 Office 网页小程序如何解决的呢?
原理就是在网页中指定地位和大小,模仿实现一个内嵌到网页中显示的窗口,在这个窗口中再调用桌面 Office 软件的自动化接口实现 doc、xls、ppt 等文档的操作。
前端还必须可对这个窗口进行实时控制,而且窗口必须追随浏览器的挪动和缩放、网页滚动、标签页切换、敞开等操作进行主动联动。这个窗口的宿主过程同时提供 Web Socket 的服务端和 JSON 打包命令的解析执行模块,前端就能够通过 Web Socket 连贯后发送 JSON 打包的管制命令实现管制此窗口的动作。此计划能够说是上述外接程序计划的升级版,要害差别在于此计划可实现内嵌 Word、Excel、PowerPoint、WPS 文字、WPS 表格等程序窗口到网页指定区域运行的成果,而且摈弃了通过 IE 内核来加载 ActiveX 控件的计划,解决了用户体验差、加载迟缓和内存占用高的问题。另外启动这个外接程序是通过 Web Socket 连贯实现的,也解决了每次启动都会弹提醒的懊恼问题,还有就是提供了相似 ActiveX 控件的主动降级计划,可在网页中实现静默主动降级,并额定减少了调用验证机制确保外接程序的平安启动。
另外猿巨匠中间件的微软 Office 网页小程序提供了丰盛的二次开发接口,对现有零碎改变比拟小的前提下,申请启动 IE 控件小程序加载即可。
四、总结:
一个好的技术实施方案,首先是要满足客户的刚性需要,其次是尽量升高洽购、开发、施行及保护的总成本,再次是要有良好的兼容性和稳定性,最初需尽量确保技术计划不能因为浏览器的降级而生效。本文基于以后最新的技术信息和实践经验,给大家提供了猿巨匠中间件搭配 Office 网页小程序这样一个稳固牢靠、体验好、兼容性佳的桌面 Office 文档控件技术计划,尤其适宜在内网解决简单文档和数据量大的表格场景,以供大家技术选型参考。