异步脚本整合 常规方式加载脚本(script src="url/script),不仅会阻塞页面中其它内容的下载,还会阻塞脚本后面所有元素的渲染。异步加载脚本可以避免这种现象,提高加载速度。但是如
异步脚本整合
常规方式加载脚本(<script src="url></script>),不仅会阻塞页面中其它内容的下载,还会阻塞脚本后面所有元素的渲染。异步加载脚本可以避免这种现象,提高加载速度。但是如果在使用外部脚本时,不关注外部脚本里定义的标识符行内脚本;不考虑行内代码的依赖;则可能会由于竞争状态,而出现未定义标识符错误。
当异步加载的外部脚本与行内脚本之间存在代码依赖时,我们必须通过一种保证执行顺序的方法来整合这两个脚本。很多页面包含一个外部脚本和一段行内脚本。因为行内脚本依赖外部脚本,所以保证执行顺序至关重要——外部脚本必须在行内脚本之前下载、解析和执行。
异步加载脚本时保持执行顺序
当外部脚本按常规方式加载时,它会阻塞行内代码的执行,竞争状态不会发生。一旦我们开始异步加载脚本,就需要一种技术把行内代码和依赖行内代码的外部脚本整合起来。这种整合技术是:
1 硬编码回调,让外部脚本调用行内代码里的函数。
2 window onload
3 定时器
4 Script onload
5 Degrading Script Tags