红宝书第一遍-浅谈script

101 阅读1分钟
1.async:

立即下载脚本,下载完立即执行,此时页面可能没加载完,故异步脚本不应该在加载期间修改DOM,多个异步脚本执行顺序不能保证一致.一定会先于load事件之前执行,只对外部脚本有效.

2.defer:

立即下载脚本,但是脚本等到页面解析完毕之后再执行,HTML5规定多个延迟脚本顺序执行并且先于DOMContentLoaded事件之前执行,但在实际中,可能会不一样

3.crossorigin:

配置相关请求的CORS设置,默认不使用CORS,crossorigin="anonymous"配置文件请求不必设置凭据标志。配置之后可以通过window.onerror事件获取脚本的具体报错信息,crossorigin="use-credentials"设置凭据标志,意味着出站请求会包含凭据。

4.integrity:

允许比对接收到的资源和指定的加密签名以验证子资源完整性。如果接收到的资源的签名与这个属性指定的签名不匹配,则页面会报错,脚本不会执行。这个属性可以用于确保CDN不会提供恶意内容。