JavaScript-怎么判断js是否加载完成??
如遇到浏览器不支持js的用,<script>not support js</script>
但是最近有碰到,有些用户的dns被劫持的情况,这种情况下,css和js都不会加载,
我怎么能判断js是否加载完成,并给予提示??
或者大家还有没有别的处理方法??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
给
script
标签添加事件:若
script
标签支持onload
和onerror
script.onload = function() {}
script.onerror = function() {}
若
script
标签不支持onload
和onerror
script.onreadystatechange = function() {
alert( script.readyState );
}
续楼上的,另外一种情况
如果是dns劫持导致的无响应,还可以在页面头定义一个标志变量。并且设置一个超时判断。
var everything_loaded = false;
setTimeout(function(){
if( ! everything_load){
//提示
}
}, 1500);
然后在页面尾将标志置为true.
everything_loaded = true;
如果js的服务器无响应,那么上面这行代码就不会执行,所以超时判断中everything_loaded会为false。
另外,不支持script的标签是<noscript>
处理的方法是判断引入的js创建的对象或者变量是存在。比如我们引入了google CDN上的jq源:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
接下来我们可以这样检查jq是否加载成功:
if (jQuery) {
// 加载成功
} else {
// 加载失败
}