html5中的script属性及js同步和异步加载实现代码详解


当前第2页 返回上一页

1

2

3

4

5

6

7

8

var img = new Image();

img.onload = function(){ alert(1); } ; //由于返回的js文件 MIME 不是图片,onload回调函数并不会被触发

img.src = 'http://localhost/test/loadjs/try.2.js';

var s = document.createElement("script");

var h = document.getElementsByTagName("head")[0];

//执行 js

s.src=img.src;

h.appendChild(s);

一个加载 js 文件的 函数:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

var loadJS = function(url,callback){

var head = document.getElementsByTagName('head');

if(head&&head.length){

head = head[0];

}else{

head = document.body;

}

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

script.src = url;

script.type = "text/javascript";

head.appendChild( script);

script.onload = script.onreadystatechange = function(){

//script 标签,IE 下有 onreadystatechange 事件, w3c 标准有 onload 事件

//这些 readyState 是针对IE8及以下的,W3C 标准的 script 标签没有 onreadystatechange 和 this.readyState ,

//文件加载不成功 onload 不会执行,

//(!this.readyState) 是针对 W3C标准的, IE 9 也支持 W3C标准的 onload

if ((!this.readyState) || this.readyState == "complete" || this.readyState == "loaded" ){

callback();

}

}//end onreadystatechange

}

对于第4点的测试(同步加载)(其中插入 alert 很容易看到加载时的阻塞) 。

以上就是html5中的script属性及js同步和异步加载实现代码详解的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript如何将时间字符串转化为时间

js中call、apply、bind的区别

html5 data-* 自定义属性实例分享

在webstorm中使用h5的快捷键

javascript的用途有哪些

javascript方法(函数)的定义方式有哪些

css和javascript之间有什么区别

通过代码示例,了解css3+javascript按钮水波纹效果

解决在html5中的video标签无法播放视频的方法

javascript与java区别是什么

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...