网页性能优化之异步加载js文件】的更多相关文章

一个网页的有很多地方可以进行性能优化,比较常见的一种方式就是异步加载js脚本文件.在谈异步加载之前,先来看看浏览器加载js文件的原理. 浏览器加载 JavaScript 脚本,主要通过<script>元素完成.正常的网页加载流程是这样的. 浏览器一边下载 HTML 网页,一边开始解析.也就是说,不等到下载完,就开始解析. 解析过程中,浏览器发现<script>元素,就暂停解析,把网页渲染的控制权转交给 JavaScript 引擎. 如果<script>元素引用了外部脚本…
IE8+等实行并行下载,各JS下载不受影响,但仍阻塞其他资源下载 如: 图片 所以首要规则就是:将JS放在body底部(推荐) 加载100kb的单个文件比4个25kb的文件快(减少外链文件数量)(脚本合并) <无阻塞脚本> 1延迟脚本   defer: 有些浏览器不支持,等待页面加载后才执行       两者都并行下载   h5规范中的async:(异步加载),脚本加载后自动执行 2 动态脚本加载 优势:易用和跨浏览器兼容(推荐)最好用到代码压缩工具 3 XMLHTTPRequest脚本注入…
angularLoad(用以异步加载js文件) 使用方法: 1.执行命令 下载 lib npm install angular-load --save 2.index.html引用js <script src="lib/angular-load/angular-load.js"></script> 3.引入angularLoad模块 angular.module('app', ['ionic', 'app.controllers','app.services',…
# 异步加载js文件 - js的加载默认是同步的,因为js是单线程执行,只能完成一件再执行下一件. - 一些外部引入的js文件可以因为文件太大,在加载资源的过程中会影响dom元素的加载,影响了用户体验,因此会使用异步加载技术加载文件. - 一般情况下给所有的script标签添加一个async异步属性,在加载script标签的同时加载dom元素.但会出现另外一个问题.加载的js资源,如jQuery,不能使用,因为在执行jQuery程序的时候,jQuery.js还没有加载完成.这时可以用到回到函数…
方法一,jQuery.getScript HTML 代码: 代码如下 复制代码 <button id="go">Run</button><div class="block"></div> jQuery 代码: jQuery.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js", function(){ $…
昨天听一同事说的异步加载js文件,可以提高页面加载速度.具体方法如下:(function() {  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;  ga.src = 'http://www.test.com/myjs.js';  (document.getElementsByTagName('head')[0] || document.getElementsByTa…
网页加载时,是按从上到下,从左到右的顺序加载的.所以一定要先加载css文件(不要让用户看到一个杂乱无章的页面),最后再加载js文件,js一般都是处理功能的,所以不需要提前加载.先给用户观感,再给用户上手体验. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--先加载cs…
HTML5中script的async属性异步加载JS     HTML4.01为script标签定义了5个属性: charset 可选.指定src引入代码的字符集,大多数浏览器忽略该值.defer 可选.延迟脚本执行,相当于将script标签放入页面body标签的底部.除IE和较新版本的Firefox外,其他浏览器并未支持.language 已废弃.大部分浏览器会忽略该值.src 可选.指定引入的外部代码文件,不限制后缀名.type 必选.指定脚本的内容类型(MIME类型).现实中通常不指定该值…
js加载时间线 : 它是根据js出生的那一刻开始记录的一系列浏览器按照顺序做的事,形容的就是加载顺序,可以用来优化什么东西,理论基础,背下来. 1.创建Document对象,开始解析web页面.解析HTML元素和他们的文本内容后添加Element对象和Text节点到文档中.这个阶段document.readyState = 'loading'.(生成document对象,document状态位变为loading) 2.遇到link外部css,创建线程加载,并继续解析文档. 3.遇到script外…
//异步加载js function loadScript(url,callback){ var script = document.createElement("script"); script.type="text/javascript"; if(script.readyState){ //IE script.onreadystatechange = function(){ if(script.readyState=="loaded"||scr…