手机端网页在速度上优化的方案

1.尽量减小首屏加载的资源

2.inline首屏必备的css和javascript

3.当出现多个li标签需要进行循环判断点击效果的时候,可以采用事件委托的方式大大提高效率,倘若每个li标签的点击结果效果不同,可以采用swich,case的写法实现;ie浏览器不兼容ev.target,兼容event.srcElement的写法;用nodeName来获取具体的标签名,但nodename返回的是大写的,我们需要用toLowerCase()函数来将其转化为小写;

手机端网页在速度上优化的方案_第1张图片手机端网页在速度上优化的方案_第2张图片

当已经写入标签的移入移出效果,而后再加入标签;(那么后加入的标签没有被写入前面缩写的js效果)如果使用传统的写法即不使用事件委托来实现则会如此;当然可以将鼠标移入移出封装为一个函数,后面再调用,但这样则增加了dom的操作;加入li标签中所包含内标签且标签种类不同,则先判断是否为ul。。。。

手机端网页在速度上优化的方案_第3张图片手机端网页在速度上优化的方案_第4张图片

4.网页的缓存一般都是由http消息头中的Cache-control来控制的,常见的值有private、no-cache、max-age、must-revalidate根据不同的浏览方式可以做如下区分:

(1)刷新页面

无论值为什么,都会重复访问

(2)打开新窗口

如果Cach-control的值为private、must-revalidate、no-cache,那么打开新窗口访问时都会重新访问服务器,而如果设置了max-age值,那么在此值对应的时间内不会重新访问服务器。

例如:Cache-control:max-age=3表示访问此网页3秒内再次访问则不会去服务器访问。

(3)在地址栏回车

  如果值为private或must-revalidate(和网上说的不一样),则只有第一次访问时会访问服务器,以后就不再访问。如果值为no-cache,那么每次都会访问。如果值为max-age,则在过期之前不会重复访问。

(4)回退

如果值为private、must-revalidate、max-age,则不会重复访问,而如果为no-cache,则每次都重复访问;如果为no-cache则无论以什么方式打开浏览器都会重新访问服务器。

你可能感兴趣的:(优化)