提升页面性能的方法有哪些?
- 资源压缩合并,减少http请求
- 非核心代码异步加载
- 利用浏览器缓存
- 使用CDN
- 预解析DNS
- ...
异步加载的方式有哪些 ?
- 动态加载脚本
创建script, 插入到 DOM中 - async
示例:<script type="text/javascript" src="demo_async.js" async="async"></script>
async 属性仅适用于外部脚本(只有在使用src属性时) - defer 只支持IE
示例:<script type="text/javascript" defer="defer"> alert(document.getElementById("p1").firstChild.nodeValue); </script>
异步加载的区别- defer是在HTML解析完成之后才开始执行,如果有多个,按照加载的顺序依次进行
- async是在加载完成之后立即执行, 如果是多个,执行顺序和加载顺序无关