规则1:减少HTTP请求
把多个JS请求合并为一个JS请求,把多个CSS请求合并为一个CSS请求。从而减少从客户端向服务器端的请求数。
规则3:添加Expires头
用http请求的查看工具,我这里用的是firebug查看http请求,可以看到响应头中有Expires头,unicorn的设置的默认过期时间是30分钟。即是如果当前网页未过期,浏览器不会发请求,直接查找本地页面缓存。加速前端响应速度,减少服务器端压力。
规则4:压缩组件
查看http请求头参数中,有一项Accept-Encoding:gzip,deflate,响应头中有一项Content-Encoding:gzip ,这里表示请求的内容采用gzip方式进行压缩传输。减少传输文件的大小,加快页面响应。
规则5:将样式表放在顶部
规则6:将脚本放在底部
浏览器的加载顺序基本是按源码从上到下加载的,把样式表放在顶部,可以加快页面样式的显示,给客户更好的体验。同理,把脚本放在底部,会避免因脚本阻塞页面内容的呈现。
因此,最理想的情况是,整个页面只保留一个JS且放置在</body>标签之前,只保留一个CSS且放置在</head>之前。
目前的unicorn设计也是尽力按这个目标来做。CSS已经精简到1个,位置也基本符合。但是结合网站的实际情况,JS的处理中涉及到一些函数依赖,必须有部分JS放在前端,供后面的JS调用。另外,ae.js这个库必须提前调用,因此,就会看到当前的searchweb页<head>标签内,依然存在2个JS。其他的JS都遵循此规则,合并成一个,且放置在</body>前。
规则10:精简JavaScript
如果你把页面源码中的js的URL输入地址栏中(用FF浏览器,IE会弹出下载框),会列出JS的内容,会发现这里的JS文件作了很大的精简。删除了多余的空格、空行、注释等。减少了JS的体积,压缩原理主要参考开源工具JSMIN。
另外,其实unicorn也做了CSS的压缩功能,但是因为目前国际站的应用中,CSS的注释因为涉及到一些兼容性处理的内容,暂时无法做压缩。这个功能虽然做了,但是默认不开启。可以在antx.properties中配置是否开启,对应配置项:alibaba.intl.compressCSS,为true时开启压缩,默认此项值为false。
规则12:移除重复脚本
unicorn还有一个功能是,对于一次请求中重复引入的JS或CSS,unicorn有去重功能,也就是只会调用一次。
规则13:配置ETag
项目设计之初,有在http请求中加入ETag标记,这个标记可以在请求时检验服务器端资源是否与客户端资源相同。如果相同,只返回带304响应码的响应头,不用重新从服务器端发送页面数据,而直接使用本地缓存。后来在测试过程中,出现页面偶尔丢失样式的情况发生,经架构、开发等判断可能是Etag标记与mod_jk冲突,因此取消了这项功能
分享到:
相关推荐
这个工具的主要功能是对JavaScript (JS) 和 Cascading Style Sheets (CSS) 文件进行压缩,以减少文件大小,从而提高网页加载速度,优化用户体验。在Web性能优化的领域中,YUI Compressor扮演了关键角色。 ### YUI ...
"通过调用 JS 打印图片信息"这个主题就是针对这一需求展开的。本文将深入探讨如何利用 JavaScript 实现这一功能,特别是在解决谷歌浏览器首次打印时图片不显示及去除IE浏览器页眉页脚的问题。 首先,我们需要理解为...
常用的优化策略包括使用CDN、资源压缩合并、图片懒加载、按需加载JavaScript和CSS等。接口服务调用优化包括减少HTTP请求次数、采用Ajax和JSONP等技术减少页面加载时间,以及使用缓存控制接口的请求频率。接口缓存...
例如,轮播相册可能使用JavaScript来控制图片的切换,个人日志可能包含动态加载或编辑功能,天气查询可能通过调用API获取实时数据,而微电影页面可能包括播放、暂停和进度控制等视频功能。 【标签】"html5 css ...
在IT领域,CSS(层叠样式表)、JavaScript和jQuery是构建网页和应用程序不可或...提供的PDF文件“实用的jQuery代码段”、“实用的CSS代码段”和“JavaScript代码段_扫描版”将为深入理解和实践这些概念提供宝贵的资源。
5. 性能优化:合理使用资源加载策略,避免内存泄漏,优化渲染效率。 五、案例分析 以一款影视题材的微信小游戏为例,如"影视大挑战",用户可以通过答题挑战,赢取积分和奖励。游戏中,HTML5用于构建页面结构,CSS3...
5. **优化与性能**:在实际应用中,我们还需要考虑性能优化,比如在图片加载完毕后再进行轮换,使用CSS3硬件加速过渡效果,以及在不使用时暂停轮换以节省资源。 6. **响应式设计**:对于现代网页,响应式设计是必不...
这段代码会在每个`section`元素前显示一个递增的章节编号。 3. **使用calc()创建更好的网格布局** `calc()`函数允许开发者进行简单的计算,从而动态设置元素的尺寸。在创建响应式网格布局时,`calc()`尤其有用。...
总的来说,这个压缩包提供了一套完整的JS和CSS压缩解决方案,结合Eclipse的强大编辑功能和Ant的自动化构建能力,能有效提升开发效率,优化网页性能。在实际使用中,根据项目需求选择合适的压缩工具,合理配置自动化...
ClientScript对象是ASP.NET提供的用于生成客户端脚本的工具,其中GetPostBackEventReference方法特别重要,它能够生成一段JavaScript代码,用于触发服务器端的PostBack事件。例如,为了在按钮单击时触发服务器端的...
(3)使用BOM调用浏览器功能1次,例如页面滚动、秒杀倒计时、打印、通知、本地存储等。 (4)使用ECharts库(https://echarts.apache.org)实现数据可视化1次。使用Swiper框架(https://www.swiper.com.cn)实现轮播图1次。 ...
4. **剖析与监控**:在优化前,使用性能分析工具来识别性能瓶颈。获取关键性能计数器的值,如垃圾回收时间,有助于定位耗时的操作。直观分析和直觉判断也是寻找问题的重要手段。 5. **微优化**:微小的代码调整可能...
Vue.js 是一款流行的前端JavaScript框架,用于构建用户界面。在这个“阶段五:Vue.js项目实战资料.zip”中,我们能够找到关于使用Vue.js进行实际项目开发的详细资源,特别是针对一个名为“黑马头条”的社交媒体项目...
综上所述,"抖抖赢口红小程序(前段后端)"项目涉及到了微信小程序开发、前端框架的运用、后端服务器的构建、用户认证、数据库设计、性能优化等多个IT领域的关键技术。开发者需要具备跨领域的技能和经验,才能成功地...
上面这段代码仅会在IE浏览器下运行,还有一点需要注意,在页面中调用html5.js文件必须添加在页面的head元素内,因为IE浏览器必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用。 这个html5的js文件...
页面请求指的是浏览器向服务器请求一个完整的网页,可能包含多个子请求(如图片、CSS、JavaScript等)。事务请求则更具体,仅涉及完成一项具体任务所需的最小集合,如提交表单或检索数据。区分两者有助于更准确地...
Node.js+Express+MongoDB 服务端开发、接口实现与测试; 前后端联调,前端实现业务功能逻辑; 部署测试环境、产品测试、BUG修复; 部署生产环境; 产品迭代。 @vue/cli,快速搭建前端工程; Vue-Router,实现单页面...
10. **性能优化**: 为了提供流畅的用户体验,我们需要关注性能优化,如使用懒加载技术延迟加载非可视区域的视频,利用Vue的keep-alive功能缓存组件,避免不必要的渲染,以及使用Vue Router的守卫功能进行路由优化。...
接下来是一个利用JavaScript的`window.history.back()`函数实现的后退跳转,通常用于在用户触发错误或特定操作时返回前一页。 最后,关于防止表单重复提交的问题,可以在表单的`onSubmit`事件中,禁用提交按钮。...