`

记一复杂页面的前端优化

阅读更多
下拉列表优化

然后创建自己的输入框和弹出框。当页面只有1,2个select的时候,没发现有什么问题,但当页面出现7,8个select的时候,熏染速度明显慢了很多,可以看着1个个select变成input,主要原因还是js执行的太多了(动态生成html,绑定事件)等等。这个是影响页面渲染速度的1个大问题,所以第一个要解决的就是这个select。因原始的select外观是在是不行,而且又不能修改样式,所以我们选择了1个jquery的selectbox插件,该插件的实现原理:在页面加载完毕后,隐藏原始的select,然后创建自己的输入框和弹出框。当页面只有1,2个select的时候,没发现有什么问题,但当页面出现7,8个select的时候,熏染速度明显慢了很多,可以看着1个个select变成input.主要原因还是js执行的太多了(动态生成html,绑定事件)等等。这个是影响页面渲染速度的1个大问题,所以第一个要解决的就是这个select。



目前的解决方案是服务器端和js结合使用,通过jsp的标签(net应该叫自定义控件)生成html代码,并不生成任何js来绑定事件,而且当用户第一次点击input的时候,才绑定所有事件,弹出下拉窗口。这样就完全解决了渲染的问题,因为不需要js来生成html,也不需要页面加载的时候去绑定所有事件。



右下的数据列表延迟加载

右下方的数据列表,默认只显示基本信息,当用户点击的时候才展开详细信息,一般用户只有在编辑和删除的时候才会用到详细信息,大部分情况可能不会用编辑和删除,也就不需要展开详细信息。之前的做法就是在加载列表的时候就把详细信息的html都生成好,只是隐藏一下,所以加载列表就比较慢。把详细信息改成延迟加载,当用户单击某行数据,才去生成对应的详细信息html代码,并展开显示。



png图片转gif

这个页面用了很多PNG图片,比如收入、支出的图标,左边分类的图片,选择框的图标。而png图片在ie6下要做单独处理,为了提高性能,跟设计师商量后,把一些图片转成gif的。虽然gif的转了后效果没PNG的好看,但还可以接受,而且也是透明的,于是就通过CSS HACK,让在IE6下使用gif图片,在其他浏览器下使用png图片。这样就可以提高IE6下的速度,而又不用降低其他浏览器的界面效果。



延迟执行ajax

左边每个分类前面有个选择框,当用户选择(或去掉选择)某个分类的时候,都会引发ajax刷新右边的数据列表。这里就可能出现这种情况,比如用户想选择3个分类查看,需要点击3次选择,之前的做法,每次点击都会触发一次ajax,这样就触发了3个ajax了,其实对于用户来说,只有最后一次ajax是有用的,前面2次不但浪费资源,而且影响性能。当然你可能会想到我们可以abort前面的ajax请求,但要注意abort只是abort客户端的执行,服务器端还是会接收到请求并执行完毕。于是对这个ajax做了个延迟,每次点击后延迟0.5秒执行,如果用户在0.5秒内再一次点击,则取消之前的ajax。这样就可以避免一些不必要的ajax请求了。

分享到:
评论

相关推荐

    前端之前沿优化解决方案

    前端优化是一个持续的过程,涉及到多个方面的技术和策略。以下是一些前沿的前端优化解决方案的简介: 使用IconFont和SVG: IconFont 可以减少请求数量和体积,提供矢量图形,可伸缩不失真,并且可以通过CSS直接修改...

    基于JavaScript的WebGIS前端开发及优化

    近年来网站客户端开发规模越来越大并且有很多由AJAX开发的复杂页面, 系统中的客户端脚本大量增加,前端开发就产生了诸如代码量大、组织困难、难 以维护、代码复用低、扩展适应性差等此类的问题。究其原因,以往前端...

    前端优化总结

    前端优化是复杂的,针对方方面面的资源都有不同的方  前段时间简单的研究了下前端优化相关的知识,本文算是一个阶段性的总结,或者当做一个优化的参考List。  前言  前端是庞大的,包括HTML、CSS、Javascript、...

    移动前端系列——移动页面性能优化

    纵观目前移动网络的现状,移动页面布局越来越复杂,效果越来越炫,直接导致了文件越来越大,下载和运行速度越来越低,而速度低会造成不良影响,据统计:71%的用户期望移动页面跟pc页面一样快,74%的用户能容忍的响应...

    Web前端开发职业技能等级标准.pdf

    充分考虑到了Web前端开发从业人员的职业发展路径与成长路径,以职业素养、职业技能、知识水平为主要框架结构,设计了HTML基础及HTML5标签、CSS及CSS3应用、JavaScript基本语法与高级编程、ES6标准、数据库应用、项目...

    单页面和多页面开发及应用

    -根据部分进行优化为每个关键字创建一个或或每个关键字并为其分配一个适当的ID,该页面上的内部链接将链接至ID。 -优化页面速度对于单页网站SEO来说至关重要。 - 做了seo 以后,单页面还是单页面 # 单页面优点: -...

    Web前端职业技能证书实施计划和要求-谭志彬.pdf

    充分考虑到了Web前端开发从业人员的职业发展路径与成长路径,以职业素养、职业技能、知识水平为主要框架结构,设计了HTML基础及HTML5标签、CSS及CSS3应用、JavaScript基本语法与高级编程、ES6标准、数据库应用、项目...

    中国首个开源 HTML5 跨屏前端框架 Amaze UI.zip

    Amaze UI的目标帮助开发者提高开发效率,提升网页效果,即用最短的时间做出最赞的网页,使更多的前端开发者不再受前端复杂代码困扰。下面是特性硬广Amaze UI 是中国首个开源 HTML5 跨屏前端框架,基于 React.js 开发...

    HarmonyOS JS UI前端开发

    随着移动端开发技术的不断发展, 传统的复杂代码开发( Java、 C) 方式已经无 法满足现今的快速代码开发和迭代的...括开发复杂页面布局, 掌握常用组件、 容器组件和自定义组件的用法, 学会使 用JS FA访问PA的方法。

    CSS前端页面渲染优化属性will-change的具体使用

    前言 当触发scroll、resize这类的滚动事件时,被触发的频率非常高,间隔也特别近。如果事件中涉及到大量的位置计算、DOM操作、元素重绘等工作,并且这些工作无法...这种优化可以将一部分复杂的计算工作提前准备好,使页

    Web前端框架Angular.zip

    Angular 是一款十分流行且好用的 Web 前端框架,目前由 Google 维护。这个条目收录的是 Angular 2 及其后面的版本。由于官方已将 Angular 2 和之前的版本 Angular.js 分开维护(两者的 GitHub 地址和项目主页皆不...

    无界微前端实践(vue3+vite+vue2+webpack)

    适合人群:需要优化大型复杂项目结构的前端研发人员。 能学到什么:能通过实践学习无界微前端的实现和通信方式。 使用建议:分别运行包中的两个项目,打开后会看到包括子应用的主应用,主应用可通过点击按钮向子...

    Web应用前端技术的探索与实践

    6.5.2.26.2 一个较为复杂的应用实例 185 6.5.3 综合实例 191 6.5.3.1 Portal 191 6.5.4 展望 195 7 前端页面的优化工作概论 195 7.1 前端页面优化的策略 196 7.2 网站加速的主要方法 198 7.2.1 Web层 198 7.2.2 应用...

    前端html5框架ZUI1.2版

    2、新增数据表格视图组件,更轻松实现复杂数据的展示,移除table.data.js 3、重新实现的模态框触发器,模态框触发器同时支持加载远程内容和实时内容,实时根据自身内容调整位置和尺寸,重新设计了调用接口,使用更加...

    前端开发常见问题汇总概要总结.docx

    前端开发常见问题涵盖了多个维度,从技术基础知识、编码实践、性能优化到跨平台兼容性等。以下是一些主要的前端开发常见问题及其简要说明: 基础知识不牢固 编程思维和基本算法的理解:新手开发者可能会因为对基础...

    基于webpack的前端工程化方案(纯静态页面).zip

    它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决...

    uba-gui::wrench:A tool for uba developement -一款基于electron 开发前端集成开发和调试工具

    通过提供的最佳实践项目免去优化、配置环境等问题,快速初始化到本地,完成运行、开发、调试、构建、发布、测试等一系列繁琐复杂操作。通过可视化来操作减去了学习命令行成本,安心去开发业务模块,无需担心其他...

    amis前端低代码框架 v1.1.4

    修复 Checkbox 无 disabled 样式问题 (#1414)amis前端低代码框架是一个低代码前端框架,它使用 JSON 配置来生成页面,可以节省页面开发工作量,极大提升开发前端页面的效率。 目前在百度广泛用于内部平台的前端开发...

    firefox 14 和网页开发的插件

    没错,这是一个集众多页面测试功能于一身的强大火狐插件,能够查看CSS错误和Cookies 信息,设置突出显示表格、Heading、图片URL等几乎所有页面元素,这对页面调试非常有用,尤其当页面结构非常复杂的时候,这些工具...

    amis前端低代码框架-其他

    amis 是一个低代码前端框架,它使用 JSON 配置来生成页面,可以节省页面开发工作量,极大提升开发前端页面的效率。目前在百度广泛用于内部平台的前端开发,已有 100+ 部门使用,创建了 3w+ 页面。特点:1、不需要懂...

Global site tag (gtag.js) - Google Analytics