CarisL / noteBook

平时自己学习的过程中的积累
0 stars 0 forks source link

高性能的JavaScript #7

Open CarisL opened 6 years ago

CarisL commented 6 years ago

1、带有defer的script标签,只会被下载,代码不会被执行,直到DOM加载完成,下载的时候是不会造成浏览器堵塞,因为会和浏览器的其他资源并行下载 2、任何带有defer的script标签,不论是外联的还是内联的,都不会被执行 3、例子:

支持的defer的浏览器打印顺序,script、defer、load,不支持defer的浏览器,defer、script、load,defer会在window.load的前加载。 4、DOM允许JS创建几乎全部HTML标签,script标签也不例外,所以可以动态创建script便签,这样就方便插入、修改等操作,例子:

var script = document.createElement('script'); script.type = 'text/javascript'; script.src='file.js'; document.getElementsByTagName_r('head')[0].appendChlid('script'); 5、如果想获取动态script标签的节点事件,可以对script标签监听。 6、IE中还有另一种方式实现,script标签会发出一个readyscriptchange事件,有一个readyState属性,随着下载文件的过程而改变,readyState有五个值:

uninitialzied:默认值 loading:加载中 loaded:加载完成 interactive:下载完上不可用 complete:所有数据都准备好