怎么判断js脚本加载是否完成

 我来答
黑马程序员
2016-09-25 · 改变中国IT教育,我们正在行动
黑马程序员
黑马程序员为大学毕业后,有理想、有梦想,想从事IT行业的年轻人改变自己的命运。黑马程序员成就IT黑马
向TA提问
展开全部
我们可以对加载的 JS 对象使用 onload 来判断(js.onload),此方法
Firefox2、Firefox3、Safari3.1+、Opera9.6+ 浏览器都能很好的支持,但 IE6、IE7 却不支持。曲线救国 —— IE6、IE7
我们可以使用 js.onreadystatechange 来跟踪每个状态变化的情况(一般为 loading
、loaded、interactive、complete),当返回状态为 loaded 或 complete 时,则表示加载完成,返回回调函数。

对于 readyState 状态需要一个补充说明:

1.在 interactive 状态下,用户可以参与互动。
2.Opera 其实也支持 js.onreadystatechange,但他的状态和
IE 的有很大差别。

代码如下:
<script>
function include_js(file) {
var _doc = document.getElementsByTagName('head')[0];
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', file);
_doc.appendChild(js);
if (!/*@cc_on!@*/0) { //if not IE
//Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload
js.onload = function () {
alert('Firefox2、Firefox3、Safari3.1+、Opera9.6+ support js.onload');
}
} else {
//IE6、IE7 support js.onreadystatechange
js.onreadystatechange = function () {
if (js.readyState == 'loaded' || js.readyState == 'complete') {
alert('IE6、IE7 support js.onreadystatechange');
}
}
}
return false;
}

include_js('http://www.planabc.net/wp-includes/js/jquery/jquery.js');
</script>
mei0125wang704
2016-09-27 · 超过13用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:14.7万
展开全部
itjob为您解答:
include_js(file) {
var _doc = document.getElementsByTagName('head')[0];

var js = document.createElement('script');

js.setAttribute('type', 'text/javascript');

js.setAttribute('src', file);

_doc.appendChild(js);

if (document.all) { //如果是IE

js.onreadystatechange = function () {

if (js.readyState == 'loaded' || js.readyState == 'complete') {

alert('IE6、IE7 support js.onreadystatechange');

}

}

}

else {

js.onload = function () {

alert('Firefox、chrome and others support js.onload');

}

}

}

include_js('jquery.js');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式