1.网页慢的原因有哪些?
资源肥多、频繁操作DOM、接口响应慢
2.怎么做好前端优化
1. 页面减肥
a. 页面的肥瘦是影响加载速度最重要的因素,
b. 删除不必要的空格、注释。
c. 将inline的script和css移到外部文件。
d. 使用一些压缩工具来给css ,JavaScript减肥 (grunt gulp webpack...)。
2. 减少文件数量
a. 减少页面上引用的文件数量可以减少HTTP连接数。
b. JavaScript、CSS文件压缩合并。
c.CSS Sprites 处理图片
d.小图使用base64
3. 减少域名查询
a. DNS查询和解析域名也是消耗时间的,所以要减少对外部JavaScript、CSS、图片等资源的引用,不同域名的使用越少越好。
b.dns-prefetch(提前对DNS预获取) ,资源cdn化(css,js)
4. 缓存重用数据
a. 对重复使用的数据进行缓存。缓存机制
最佳实践:在要缓存的资源文件名中加上版本号或文件MD5值字串,如common.d5d02a02.js、common.v1.js,同时设置Cache-Control:max-age=31536000,也就是一年。在一年时间内,资源文件如果本地有缓存,就会使用缓存;也就不会有304的回包。
如果资源文件有修改,则更新文件内容,同时修改资源文件名,如common.v2.js,html页面也会引用新的资源文件名。
5. 优化页面元素加载顺序
a. 首先加载页面最初显示的内容和与之相关的JavaScript和CSS,然后加载HTML相关的东西,像什么不是最初显示相关的图片、flash、视频等很肥的资源就最后加载。
b.文档结构中,尽量把所有js放在body后面,跟初始化页面无关的js可以加上defer,尽量不要在body中写js代码(会阻塞网页加载),
c.lazyload 延迟加载,异步加载,按需加载
6. 减少inline JavaScript的数量
a. 浏览器parser会假设inline JavaScript会改变页面结构,所以使用inline JavaScript开销较大。
b. 不要使用document.write()这种输出内容的方法,使用现代W3C DOM方法来为现代浏览器处理页面内容。
7. 使用现代CSS和合法的标签
a. 使用现代CSS来减少标签和图像,例如使用现代CSS+文字完全可以替代一些只有文字的图片。
b. 使用合法的标签避免浏览器解析HTML时做“error correction”等操作,还可以被HTML Tidy来给HTML减肥。
实例分析:http://m.88mmmoney.com/toLoginReg0615.htm,http://m.88mmmoney.com/regularList.htm http://twap.88mmmoney.com/my/toLogin.htm?app=EWPerson&returnUrl=http%3A%2F%2Ftwap.88mmmoney.com%2Fmy%2Fhome.htm