🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
当前在线文档编辑WEB页面的界面设计有两个方式,第一个是采用将操作按钮和OFFICE编辑界面放在同一页面一并显示给用户操作,另一个是采用弹出窗界面,以弹窗方式显示Office文档界面编辑。两个方式各自有优缺点。 第一个方式是在页面直接嵌入Office编辑界面,这样网页上的交互按钮,表单等录入框元素可以非常方便地与Office编辑界面交互。由于浏览器本身标题栏、工具栏等要占据屏幕,再加上网页上还要显示按钮和表单录入等元素,但这样一来,Office显示的编辑界面就会变得很小,会让用户的文档操作极不方便。 第二个方式是采用新弹出窗口的方式编辑Office文档,此方式一般是采用JS的window.showModelessDialog或window.open方法弹出新的页面,用户还可以设置此页面上的工具栏、地址栏是否显示等等。这样能实现与本地全屏启动Office文档编辑一样的效果。如果从编辑文档的舒适度来说,用户当然更喜欢全屏方式编辑,这样易于操作和控制文档。而对于集成此技术的开发人员来说,反倒是增加开发人员的编码量,在弹窗时还要传递相关的参数来实现与父窗口之间的通信。 以上两个方式各自优缺点来看,两个方式都有大量用户使用,对于这样的情况,WebOffice开发团队结合两种方式的优点创造性的研发出了WebBrowser方式在线打开文档。不管主窗口是什么浏览器,在在线打开文档的时候都会弹出WebOffice产品提供的新浏览器窗口:WebBrowser,WebBrowser是基于IE内核的所以可以支持插件,WebBrowser不但保持了主窗口中的Session,还可以通过参数传递的方法与父窗口传递参数和交互调用,彻底解决主窗口与子窗口的交互问题。 Chrome浏览器从42版本开始默认不启动插件,从45版本开始彻底关闭插件调用接口,网页中的任何插件(包括网银插件)都无法在Chrome浏览器中运行。FireFox浏览器在2016年年初发布消息,到2016年年底Firefox浏览器将关闭插件调用接口,所以从Firefox的52版本开始所有网页中的插件也都不能运行了。Chrome和Firefox停止对插件支持的原因主要有两点,第一是因为这两个浏览器中的插件技术都是基于NPAPI技术接口标准的,这种技术接口的缺陷是开发的插件很不稳定,所以大家在使用Chrome和Firefox的时候如果网页中使用了插件(包括Flash)就会经常出现浏览器崩溃的现象;第二点是现在HTML5技术的日益完善和推广,已经可以解决网页中播放视频的需求(网页中使用频率最高的插件就是Flash,目的就是为了播放视频),所以从苹果公司率先放弃Flash改用HTML5开始,Chrome和Firefox也放弃了对插件的支持。WebOffice则采用WebBrowser技术完美解决了这个问题,Chrome和Firefox都可以继续运行WebOffice进行在线Office文档操作。 Web项目的推行问题。目前市场上Chrome和FireFox浏览器占有很大的份额,用户的电脑上同时安装了多个浏览器的情况是极为普遍的现象,并且很多用户喜欢和习惯使用Chrome浏览器,大部分的网站也以Chrome和Firefox浏览器为标准布局自己的网站页面,所以用户使用Chrome或Firefox看到的网页是最漂亮的,如果让用户在使用包含有在线文档处理功能的Web项目时必须用IE浏览器,那么Web项目的推行阻力是很大的。如果使用新版WebOffice,那么用户可以保持使用Chrome和FireFox的习惯,Web项目的推行完全不受浏览器的制约和影响。 不同的浏览器针对JavaScript的onunload,onbeforeunload事件互不兼容的问题。WebBrowser提供了浏览器关闭的事件,可以保证在浏览器关闭的时候一定会触发开发人员希望执行的js代码,比如调用WebOffice提供的判断文件是否修改的属性,或提示用户保存等等需求。 综上所述,我们推荐开发者优先采用WebBrowser方式集成新版WebOffice,这不仅能够彻底完美解决浏览器问题,而且还能为用户带来良好的操作体验。