`
ydyxingfu
  • 浏览: 462 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

页面优化的一些分享

 
阅读更多

最近开发即时比分(足彩比赛直播)的项目,这个项目对数据的及时性要求比较高,周末(周末球赛比较多)数据量比较大,因为产品设计的限制,页面不允许分页。这样一来,在完工后的第一个周末,问题就出来了,页面,连往下滚动都很卡,不到5分钟,IE就不响应了,还有根据联赛过滤比赛(比如只选择‘意甲’、‘欧冠’的比赛、反选,全选等等),页面卡到提示js会影响页面响应,是否终止js的运行,看到这些,好是尴尬。如下图所示:

接下来的时间就是一直在琢磨着优化。先简单介绍下页面实现,开始只是想到页面赛事多,页面赛事列表都用freemaker静态化了,定时更新静态化的页面就好,为了方便加载后业务上的操作,除了tr上的id,还加了很多css选择器,比如根据状态的、联赛的、时间的等等,最后我查看了下生成的静态页面,发现周六的比赛能有3、4M,我的亲,网速不给力的兄弟,下载这个页面就得很久吧,悲剧啊,焦虑啊,不解决,哥寝食难安啊。

   

    优化的入口就是js定时请求timer,最笨的办法,排除法,一个一个的注释掉,看那个耗CPU。最后得出结论,单纯的数学计算,是不占用多少cpu的,占cpu比较多的是对文档的操作,比如用class选择器选择节点,改变节点等。

 

    比如所有赛事频道,进行中的比赛分为上半场的和下半场的,这两个状态的比赛会发起服务器请求,请求的数据是服务器时间、赛事改变;服务器时间是为了计算本地时间差,最后得到当前比赛的进度,在比赛状态旁边会有一个进度条显示当前比赛进行到的时间,比如32',赛事改变是一个对象,用来及时变化比赛情况,比如进球(进球还会调用一个函数,如果用户有在功能设置里设置进球有弹层提示、声音提示,那么网站还会弹出提示层,并播放用户设置好的提示音)、红黄牌、状态变化(未开赛变为上半场等)。

 

    这里优化的内容仅仅是把分钟数后的那个闪闪的图片直接放在ftl末班文件里生成了,需要的时候打开他的显示属性。这个优化了,还是不行,那么开始瘦身,琢磨提高选择的性能。第一想法就是删除css选择器,但是删掉了,我怎么选择呢。

 

    这个问题的解决找到突破点了,生成数据的时候,我在文档的末尾生成一个二维数组,每个数组的元素就对应这一个比赛对象的属性(数组),如var A = Array(10);A[0] = ['a','b',......];这样,我只要tr的id能取到数组A[i]的第0个值,我就能取到所有的属性值,状态、联赛等等都能,这样,css选择器就可以在页面全部去掉,这样,文档除了多加了一个ID,其他的几乎不加东西,而且迭代数组别css选择器迭代文档速度快多了,消耗cpu小多了,这样,页面就瘦身很多了。附之去掉比赛进度的行,改成动态的生成(展开的时候生成一行,关闭的时候remove这行),如下图:

同样的思路,显示隐藏层也动态添加删除,不在静态化,这样页面就不在卡了,滚动都卡,确实好难为情啊。

附显示隐藏层的截图:

     这样优化就完了,总结下,两点,一、文档不要太大,尽量少在timer中改变文档结构(包括加一个图片,只做修改节点值或style没关系);二、尽量少使用css 选择器,特别是大文档,效率相当低,在IE下几乎不可忍受。这次是领教了css选择器的效率了,我们在以后的页面开发中,尽量多利用节点之间的关系去选择节点对象,少用css去选择,比如,td中有span,span中有多选按钮,你选中了多选按钮,需要对tr或者td进行操作,完全可以用parent().parent()去选择,操作当前tr 的下一行的显示隐藏属性,可以再加个next()等等。就这么多了,一点优化心得,欢迎大家补充修正。

  • 大小: 101.1 KB
  • 大小: 30.7 KB
  • 大小: 34 KB
分享到:
评论

相关推荐

    网站页面性能优化的34条黄金守则--雅虎团队经验分享

    ### 网站页面性能优化的34条黄金守则--雅虎团队经验分享 #### 知识点一:减少HTTP请求次数 在网站页面性能优化中,减少HTTP请求次数至关重要。据统计,网页加载时间中大约有80%是由于下载组件(如图片、样式表等)...

    seo案例网站优化实例分享

    ### SEO案例网站优化实例分享 #### 一、案例背景与目的 本文档分享了一个具体的SEO优化案例,旨在通过实际操作来提升网站在搜索引擎中的排名,从而增加网站的可见性和流量。该案例涉及一个名为“多思乐学教育联盟...

    h5页面百度分享sdk,可分享到QQ,微信,微博

    6. **兼容性检查**:虽然H5页面具有良好的跨平台特性,但不同浏览器和设备可能对JavaScript和Web API的支持程度不同,因此在实际开发中,需要做一定的兼容性检测和优化。 7. **测试与调试**:在集成和配置好分享...

    网站页面性能优化

    根据雅虎团队的经验分享,网站页面性能优化的一个重要方面在于减少HTTP请求的次数。在现代互联网应用中,用户请求一个网页时,大部分时间实际上是在等待各种资源(如图像、样式表、脚本、Flash等)的加载。据统计,...

    前端页面加载性能优化实践及运维.pdf

    美团买菜iOS工程师王梓童分享了前端性能优化的实践经验,包括性能优化思路、措施和未来规划。 一、前端页面加载性能优化思路 前端页面加载性能优化的思路包括多个方面: 1. 首屏优化:首屏时间是用户体验的关键...

    让你页面速度飞起来 Web前端性能优化(视频教程+ppt)

    ### Web前端性能优化知识点 #### 一、构建优化 **1.1 文件压缩与合并** - **文件压缩**:利用工具如UglifyJS、Terser等对JavaScript、CSS等静态资源进行压缩,减少文件体积,从而加快加载速度。 - **文件合并**:...

    页面优化的十大方面.pdf

    网站页面优化是提升互联网用户体验和搜索引擎友好性的重要环节。页面优化不仅关乎网站的排名和收录,也直接影响到网站的长期发展。以下是从标题和描述中提取的十大页面优化知识点: 1. **标题设置**:标题应准确...

    第七章-页面优化.pptx

    【SEO搜索引擎优化】页面优化是提升网站排名和用户体验的关键步骤,主要包括标题优化、描述优化、正文优化、图片优化、视频优化、H标签优化、精简网页代码、页面广告处理和分享代码设置等环节。 **标题优化**是页面...

    页面优化的十大方面.docx

    页面优化是提升网站在搜索引擎排名和用户体验的关键环节。本文将详细阐述十个关键方面,帮助你优化网站页面,提高其质量和搜索引擎友好性。 1. 标题的设置:标题是页面优化的核心,应确保与页面内容紧密相关且独特...

    ios-自定义分享页面.zip

    在iOS开发中,自定义分享页面是一个常见的需求,它允许用户根据应用的风格和功能定制分享内容的方式。在这个“ios-自定义分享页面.zip”压缩包中,开发者使用了ShareSDK库来实现这一功能。ShareSDK是中国领先的社交...

    友盟社会化分享 及自定义分享页面

    5. 智能统计:友盟还提供了分享数据统计分析,帮助开发者了解分享效果,优化分享策略。 三、集成步骤 1. 注册友盟账号:首先需要在友盟官网注册开发者账号,创建应用并获取AppKey。 2. 下载SDK:根据应用的需求,...

    郭枫《专业垂直互联网站分享,我们如何做WEB页面优化?》

    ### 郭枫《专业垂直互联网站分享,我们如何做WEB页面优化?》知识点解析 #### 一、十大用户体验原则 1. **用户的特性**:用户通常被描述为“单细胞”、“懒惰”、“愚笨”,不愿意进行复杂的思考。这反映了用户在...

    网站首页页面的制作技巧分享.docx

    友情链接控制是栏目页面优化的重要步骤,新站点不建议在 3 个月内做友情链接,门户类站点可以选择做泛相关的友情链接。但一定要控制好友情链接的个数,以免牵涉降权。 六、技术优化 技术优化是栏目页面优化的最后...

    手机端页面社会分享插件

    手机端页面社会分享插件是移动互联网应用中常见的功能组件,它使得用户能够方便地将网页内容分享到各种社交平台,如QQ、微博等。在本文中,我们将深入探讨这种插件的工作原理、实现方式以及它对用户体验的重要性。 ...

    基于API的HTML页面设计源码分享与优化

    本项目是一款基于API的HTML页面设计源码,共计包含44个文件,涵盖21个M4A音频文件、8个JPG图片、8个PNG图片、2个Markdown文件、2个IPython Notebook文件、1个PPT文件、1个MP4视频文件和1个HTML文件。该资源旨在为...

    藏经阁-QQ移动页面框架优化实践.pdf

    这份文档的作者,陈志兴,是一名腾讯的高级Android开发工程师,他分享了在优化传统页面、实现动态直出页面(Sonic)以及对移动页面框架的一些深入思考。 **1. 传统页面的优化实践** 在传统的网页加载流程中,用户...

    分享当前页面

    并优化图片加载,避免影响页面整体的加载速度。 总的来说,“分享当前页面”这一功能的背后,是前端与后端的紧密协作,以及与各社交平台API的深度集成。开发者需要具备HTML、CSS、JavaScript等前端技术,了解HTTP...

    百度爬虫页面自动繁殖程序+教程自动SEO优化

    百度爬虫页面自动繁殖程序+教程自动SEO优化这款是百度爬虫页面自动繁殖泛目录程序。附视频教程 1、 只需采集关键词,无需更新任何文章、内容 2、 页面自动繁殖,自动SEO优化 3、 asp脚本 伪静态无限生成 4、自动抓取...

    html5页面分享按钮.zip

    总结来说,"html5页面分享按钮.zip"中的"share-plug-ins-master"项目涉及了HTML5的元数据优化、JavaScript事件监听和API调用,以及二维码生成技术。通过这些技术,开发者可以为用户提供便捷的多平台分享功能,增强...

Global site tag (gtag.js) - Google Analytics