1. HTML5的离线储存怎么使用,工作原理能不能解释一下?
- 在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件
- 原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示
如何使用
页面头部像下面一样加入一个manifest的属性; 在cache.manifest文件的编写离线存储的资源 在离线状态时,操作window.applicationCache进行需求实现
2. 简述你所知道的前端页面级性能优化
提升页面性能优化的常见方式:
- 资源压缩合并,减少http请求
- 非核心代码异步加载 --> 异步加载的方式 --> 异步加载的区别
- 利用浏览器缓存 --> 缓存的分类 --> 缓存的原理 缓存是所有性能优化的方式中最重要的一步【重要】 有的人可能会回答local storage 和session storage,其实不是这个。浏览器缓存和存储不是一回事。
- 使用CDN浏览器第一次打开页面时,缓存是起不了作用的。这个时候,CDN就上场了。
- DNS预解析
资源压缩合并,减少http请求
合并图片(css sprites)、CSS和JS文件合并、CSS和JS文件压缩
图片较多的页面也可以使用 lazyLoad 等技术进行优化。
精灵图等
非核心代码异步加载
异步加载的方式:(这里不说框架,只说原理)
动态脚本加载
defer
async