新版PageOffice为什么用弹出窗口的方式打开文件

目前的包含文档处理功能的Web办公系统,在打开文档的时候,一部分系统是采用Office文档嵌入到主窗口页面中右侧工作区域的方式,另一部分系统采用的是弹出新的浏览器窗口,里面完整的嵌入Office文件的打开方式,这两种方式都有各自的优点和缺点。

主窗口页面中嵌入方式:主窗口中包含了丰富的菜单、按钮和输入框等元素,那么通过JS调用,可以很方便的实现文档控件与HTML元素的交互,但是屏幕的尺寸是有限的,浏览器本身的标题栏要占据整个屏幕至少十分之一的区域,Web项目页面的上方一般是整行的单位标识区,左侧是系统的导航区,右侧的工作去只能占据整个浏览器窗口大约三分之二到四分之三的大小,把office文档嵌入到工作区域之后,office的工具栏自身又要占用一大块区域,留给用户编辑Office文档的区域就显的非常小,用户编辑文档时连半页内容也看不全,操作极为不便。

采用弹出新浏览器窗口的方式:与主窗口页面中嵌入方式刚刚相反,使用js的window.open方法或window.showModelessDialog方法在弹出的新浏览器窗口满屏的嵌入文档控件,而且还可以设置浏览器自己的工具栏隐藏,这样就与本地全屏启动Office文档编辑的体验一样舒适。相对主窗口页面中嵌入方式来说,用户更容易接受弹出新浏览器窗口方式,但是对于系统的开发人员来说代价就很大了。在弹出新窗口的时候可以用js传递部分参数,可新窗口中的文件打开之后,如果需要与主窗口做数据的交互或数据的同步,就完全无法实现,并且在文件关闭的时候也无法通知主窗口做一些更新数据的操作。

鉴于以上情况, PageOffice 开发团队结合两种方式的优点创造性的研发出了POBrowser方式在线打开文档。不管主窗口是什么浏览器,在在线打开文档的时候都会弹出PageOffice产品提供的新浏览器窗口:POBrowser,POBrowser是基于IE内核的所以可以支持插件,POBrowser不但保持了主窗口中的Session,还可以通过名称为POBrowser的JavaScript对象提供的一组方法与父窗口传递参数和交互调用,彻底解决主窗口与子窗口的割裂问题。同时PageOffice V4.0还解决了以下四个问题。

Chrome浏览器从42版本开始默认不启动插件,从45版本开始彻底关闭插件调用接口,网页中的任何插件(包括网银插件)都无法在Chrome浏览器中运行。FireFox浏览器在2016年年初发布消息,到2016年年底Firefox浏览器将关闭插件调用接口,所以从Firefox的52版本开始所有网页中的插件也都不能运行了。Chrome和Firefox停止对插件支持的原因主要有两点,第一是因为这两个浏览器中的插件技术都是基于NPAPI技术接口标准的,这种技术接口的缺陷是开发的插件很不稳定,所以大家在使用Chrome和Firefox的时候如果网页中使用了插件(包括Flash)就会经常出现浏览器崩溃的现象;第二点是现在HTML5技术的日益完善和推广,已经可以解决网页中播放视频的需求(网页中使用频率最高的插件就是Flash ,目的就是为了播放视频),所以从苹果公司率先放弃Flash改用HTML5开始,Chrome和Firefox也放弃了对插件的支持。PageOfficeV4.0则采用POBrowser技术完美解决了这个问题,Chrome和Firefox都可以继续运行PageOffice进行在线Office文档操作。

Web项目的推行问题。目前市场上Chrome和FireFox浏览器占有很大的份额,用户的电脑上同时安装了多个浏览器的情况是极为普遍的现象,并且很多用户喜欢和习惯使用Chrome浏览器,大部分的网站也以Chrome和Firefox浏览器为标准布局自己的网站页面,所以用户使用Chrome或Firefox看到的网页是最漂亮的,如果让用户在使用包含有在线文档处理功能的Web项目时必须用IE浏览器,那么Web项目的推行阻力是很大的。如果使用新版PageOffice,那么用户可以保持使用Chrome和FireFox的习惯,Web项目的推行完全不受浏览器的制约和影响。

以弹出窗的方式在线同时打开多个文件时,多个子窗口文档的混乱问题。多个文件同时打开,区分开哪个子窗口中的文件分别对应文档列表中的哪个文件就变成了一个头疼的问题,如果此问题不能有效解决,那么还会出现同一份文件重复打开的问题。POBrowser方式弹出子窗口打开文件时,会在主窗口上自动生成激活子窗口的按钮,只需要点击此按钮就可以把当前主窗口上对应打开文件的子窗口切换出来,彻底解决此混乱问题。

不同的浏览器针对JavaScript的onunload,onbeforeunload事件互不兼容的问题。POBrowser提供了浏览器关闭的事件,可以保证在浏览器关闭的时候一定会触发开发人员希望执行的js代码,比如调用PageOffice提供的判断文件是否修改的属性,或提示用户保存等等需求。

综上所述,我们推荐开发者优先采用POBrowser方式集成新版PageOffice,这不仅能够彻底完美解决浏览器问题,而且还能为用户带来良好的操作体验。

转载自:https://blog.csdn.net/weixin_37904139/article/details/82590978

新版PageOffice为什么用弹出窗口的方式打开文件相关推荐

  1. ASP.NET弹出窗口技术之增加网站流量方法

    作为Microsoft的最新建立动态Web网站的工具,ASP.NET相对于ASP和JSP在改变原始的Web编程方式方面有了长足的长进.它的代码与页面分离技术(CodeBehind)以及完善的Web服务 ...

  2. 001 打印机加墨后老是弹出窗口

    打印机加墨后老是弹出窗口 右键,打开"打印机属性"-->在端口栏"取消启用双向支持"---->点击打印测试页,看看是否能成功打印

  3. Visual C#弹出窗口杀手

    2002-11-19· ···ASPCool.com 弹出窗口杀手是一个可以自动关闭IE弹出窗口的程序,它工作在系统的托盘中,按照一定的间隔来检测IE窗口,然后关闭弹出窗体.最后,还提供了用热键来杀掉 ...

  4. vc 只有顶级窗口可以弹出窗口_如果你刚换了新电脑,这几个地方记得设置一下,电脑可以多用几年...

    现在电脑在生活中已经很常见了,无论是办公还是在生活中都会用到它,但是刚买了的电脑的小伙伴都不会保护电脑,过了几个月后电脑就出现卡顿或者死机,这样就会缩短电脑的使用寿命. 今天就教教大家如何正确的使用电 ...

  5. excel冻结窗口怎么设置_IE浏览器弹出窗口怎么设置

    1/6 打开IE浏览器,点击"工具" 2/6 点击"Internet选项" 3/6 点击"隐私" 4/6 如果只允许指定站点弹出窗口,勾选& ...

  6. 如何创建一个用弹出窗口来查看详细信息的超链接列

    如何创建一个用弹出窗口来查看详细信息的超链接列 出处:www.dotnetjunkie.com 这篇文章来自于一位忠实的DotNetJunkie的建议,他最初发了一封email给我们, 要求我们给出一 ...

  7. ASP.NET中DataGrid鼠标经过感知以及点击行弹出窗口

    选择自 xujh 的 Blog    作者Blog:http://blog.csdn.net/xujh/ 很多人说很难,其实就这几行代码.只要在DataGrid1的ItemDataBound中写入下代 ...

  8. java设置可信任站点_通过网页修改activex安全设置,添加信任站点,禁用弹出窗口阻止程序...

    信任站点的注册表项 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Rang ...

  9. 弹出窗口以及关闭窗口

    按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这样的页面非常容易,只要往该页面的HTML里加入几段javascript代码即可实现. ...

最新文章

  1. git cherry-pick命令
  2. 设计模式的理解:享元模式 (Flyweight)
  3. java数组类型转换_java数据类型转换和数组总结
  4. 【转载】Java中各种修饰符与访问修饰符的说明
  5. python的十大算法_Python十大排序算法
  6. php mysql rpm包_MYSQL RPM包安装
  7. 我需要完全理解这部分代码才能确保它能够正常工作,如果由我来修复代码中的问题,我是不会这么写的,因此希望你也不要这么来写(转)...
  8. 关于playframework1.2.4 static 关键字使用的一些思考
  9. Numpy根据某一列进行排序
  10. [转载]利用TTL值来鉴别操作系统
  11. php中使用sftp教程,php 中的sftp 使用教程_PHP教程
  12. ug470_7Series_Config 中文文档 | Xilinx
  13. 电阻值识别法(色环法、数码法)
  14. RSF 分布式服务框架设计
  15. iText7高级教程之html2pdf——6.在pdfHTML中使用字体
  16. 实时获取当前的时区和时间的方法
  17. 物联网智能家居项目总结(全)
  18. Android设置状态栏字体深色,Android实现修改状态栏背景、字体和图标颜色的方法...
  19. 饥荒lisp_谷雨英语单词速记下载
  20. PHP表单提交后引号前自动加反斜杠的原因与处理办法

热门文章

  1. Perl DBI 基础(转)
  2. HTML 设置动态 图片
  3. 灌区量测水监测系统解决方案 灌区量测水系统解决方案 农业水价综合改革解决方案
  4. P2984 [USACO10FEB]Chocolate Giving S【SPFA】
  5. 游戏片子“战火兄弟连”正式公映
  6. 风控模型黑箱可解释,试下这个方法来演示
  7. 学软件开发前景好吗?
  8. 浅析客座率折扣率以及座公里收入之间的关系
  9. 【iOS百度地图系列_1】在地图上定位当前位置
  10. lower_bound函数的个人理解