js事件是异步加载吗
1个回答
展开全部
正常加载不是异步加载,但可以设置异步加载。
1、正常加载是指:
js在html里引用,即用script标签引入,不加script的其他属性设置。
2、可以设置是指:
1) defer,只支持IE
示例:
代码如下:
<script type="text/javascript" defer="defer">
alert(document.getElementById("miao").firstChild.nodeValue);
</script>
2) async :
async的定义和用法(是HTML5的属性)
async 属性规定一旦脚本可用,则会异步执行。
示例:
代码如下:
<script type="text/javascript" src="test_async.js" async="async"></script>
3) 创建script,插入到DOM中 ,加载完毕后callBack,见代码:
代码如下:
function loadScript(url, callback){
var script = document.createElement_x("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
1、正常加载是指:
js在html里引用,即用script标签引入,不加script的其他属性设置。
2、可以设置是指:
1) defer,只支持IE
示例:
代码如下:
<script type="text/javascript" defer="defer">
alert(document.getElementById("miao").firstChild.nodeValue);
</script>
2) async :
async的定义和用法(是HTML5的属性)
async 属性规定一旦脚本可用,则会异步执行。
示例:
代码如下:
<script type="text/javascript" src="test_async.js" async="async"></script>
3) 创建script,插入到DOM中 ,加载完毕后callBack,见代码:
代码如下:
function loadScript(url, callback){
var script = document.createElement_x("script")
script.type = "text/javascript";
if (script.readyState){ //IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" ||
script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else {
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询