js延迟加载的方式有哪些?
共有:defer和async、动态创建DOM方式(用得最多)、按需异步载入js defer属性 :(页面load后执行) HTML 4.01 为 <script> 标签定义了 defer 属性。 用途:表明脚本在执行时不会影响页面的构造。也就是说, 脚本会被延迟到整个页面都解析完毕之后再执行 。 在 <script> 元素中设置 defer 属性,等于告诉浏览器立即下载,但 延迟执行 。 <head> <script src="test1.js" defer="defer"></script> <script src="test2.js" defer="defer"></script> </head> async 属性:(页面load前执行) HTML5 为 <script> 标签定义了 async 属性。与 defer 属性类似,都用于改变处理脚本的行为。同样,只适用于 外部脚本文件 。 目的:不让页面等待脚本下载和执行,从而异步加载页面其他内容。异步脚本一定会在页面 load 事件前执行。 不能保证脚本会按顺序执行。 <head> <script src="test1.js" async></script> <script src="test2.js" async></script> </head> <body> 动态创建Dom: //这些代码应被放置在</body