异步加载(async

JavaScript 异步加载

痞子三分冷 提交于 2019-12-06 14:21:18
本文转载自:http://blog.csdn.net/m13666368773/article/details/7586106 一、同步加载与异步加载的形式 1. 同步加载 我们平时最常使用的就是这种同步加载形式: <script src="http://yourdomain.com/script.js"></script> 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像)、渲染、代码执行。 js 之所以要同步执行,是因为 js 中可能有输出 document 内容、修改dom、重定向等行为,所以默认同步执行才是安全的。 以前的一般建议是把<script>放在页面末尾</body>之前,这样尽可能减少这种阻塞行为,而先让页面展示出来。 简单说:加载的网络 timeline 是瀑布模型,而异步加载的 timeline 是并发模型。 2. 常见异步加载(Script DOM Element) (function() { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'http://yourdomain.com/script.js'; var x = document

Javascript 异步加载详解

十年热恋 提交于 2019-11-29 05:30:22
一、同步加载与异步加载的形式 1. 同步加载 我们平时最常使用的就是这种同步加载形式: < script src = " http://yourdomain.com/script.js " > < / script > 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像)、渲染、代码执行。 js 之所以要同步执行,是因为 js 中可能有输出 document 内容、修改dom、重定向等行为,所以默认同步执行才是安全的。 以前的一般建议是把<script>放在页面末尾</body>之前,这样尽可能减少这种阻塞行为,而先让页面展示出来。 简单说:加载的网络 timeline 是瀑布模型,而异步加载的 timeline 是并发模型。 2. 常见异步加载(Script DOM Element) ( function ( ) { var s = document . createElement ( 'script' ) ; s . type = 'text/javascript' ; s . async = true ; s . src = 'http://yourdomain.com/script.js' ; var x = document . getElementsByTagName ( 'script' ) [ 0 ] ; x .