页面上脚本造成Internet Explorer运行速度减慢

编辑
文档创建者:文档助手1 (67727 )     浏览次数:2924次     编辑次数:6次     最近更新:susie 于 2018-01-22     

目录:

1. 问题描述编辑

填报模板,列数很多,包含大量编辑控件或是公式,可能会提示下图信息:

222

各个浏览器出现如上对话框的极限值:
IE:执行超过500w条JavaScript语句时会出现。
FireFox:执行超过10秒时出现。
Safari:执行超过5秒时出现。
Opera:无论执行多久都不会出现。
Chrome:执行超过30秒(估计值)时出现。

2. 问题原因编辑

弹出如上对话框的有两种原因:一是模板中包含大量的公式,另外一种是模板中有大量单元格。
2.1 模板中包含大量公式会弹出对话的原因
在对于填报模板使用大量字段的关联、高亮、数据字典、公式等会影响性能,由于是使用公式,在填报中设置保留公式用于计算时,我们会通过JS获取到单元格的公式属性,从而拿到计算公式,对于简单的加减乘除公式,JS自己在前台直接计算好,像Format那样的公式,JS不知道具体的计算方法,就会发送请求给后台服务器,后台服务器将结果返回,因此如果大量的单元格使用填报时保留公式的话,就会产生很多JS,导致出现Internet Explorer运行速度减慢。
2.2 模板中包含有大量单元格
对于填报预览数据扩展后会有大量的控件,在进行填报时,会对所有的数据进行操作,从而降低报表的性能,导致出现Internet Explorer运行速度减慢。

3. 解决方案编辑

3.1 填报模板中包含大量的公式
找到定义公式的单元格,打开公式定义的窗口,把填报时保留公式用于计算的勾去掉即可。
3.2 填报中包含大量控件
方案一:填报部分独立出来
将需要进行修改的数据查询出来单独进行编辑,其他部分仍为普通展示,从而大大减少控件,如下图:自动查询功能,这样大大的减少了控件并且只对取出的数据进行操作,因此大大提高了报表的填报性能。效果如下图:
222
将填报模板分为两部分:填报部分和展示部分,这两部分的结构都是一样的;
填报部分:设置控件,并通过参数过滤出需要修改的那条记录;
展示部分:没有控件,不用过滤,显示出全部记录。
参数部分:隐藏查询按钮,在下拉框中添加编辑后事件,实现自动查询
222
方案二:填报时弹出页面单独编辑
另外一种方法,如下图,数据全部展示出来,在产品编号上添加超链,需要修改该记录时,点击超链接到另外一张模板单独进行填报修改,从而减少控件量:
222

3.3 使用微软提供的修复包修复

附件列表


主题: 填报应用
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?