javascript文件同步加载与异步加载有什么不同?
- 时间:2015年04月02日 15:26:19 来源:魔法猪系统重装大师官网 人气:8160
js文件同步加载
须先加载的js文件的尾部,加上如下相关代码,可以达到同步加载多个js文件的效果:
var oHead = document.getElementsByTagName('body').item(0);
var oScript = document.createElement("script");
oScript.type = "text/javascript";
oScript.src = "../middleService/deptEnter/js/UI_index.js";
oHead.appendChild(oScript
HTML 4.01 的script属性
charset: 可选。指定src引入代码的字符集,大多数浏览器忽略该值。
defer: boolean, 可选。延迟脚本执行,相当于将script标签放入页面body标签的底部,js脚本会在document的DOMContentLoaded之前执行。除IE和较新版本的firefox外,其他浏览器并未支持。
language: 已废弃。大部分浏览器会忽略该值。
src: 可选。指定引入的外部代码文件,不限制后缀名。
type: 必选。指定脚本的内容类型(MIME类型)。现实中通常不指定该值也可以,浏览器会默认当作text/javascript类型来解释执行。
HTML5中的script属性:
script 标签在HTML5中除了具备HTML5新标准定义的属性以外,和HTML4.01相比移除了language属性,修改了type属性为可选的(默认text/javascript),并新增了一个属性async。
async boolean, 属性的作用,定义脚本是否异步执行,取值true或false。
如果 async 设为 true ,会忽略 defer 属性。
设置为异步执行的 js 文件被假定为不使用 document.write() 想加载中的 document 写入内容,因此不要在 异步执行的 js 文件的加载执行 过程中使用 document.write()
除了 script 标签属性外,页面引入 js 文件的方式影响其加载执行方式:
任何以appendChild(scriptNode) 的方式引入的js文件都是异步执行的 (scriptNode 需要插入document中,只创建节点和设置 src 是不会加载 js 文件的,这跟 img 的预加载不能类比 )
html文件中的';
=====================================================
1、
//同步加载执行的代码
2、
//同步加载执行xx.js中的代码
3、
document.write('
4、
xx.js中有下面代码:
document.write('