一、script元素
1. src
没有这个属性,表示包含行内js代码
有这个属性,用于指定要加载的外部js文件
2. type
在浏览器中,值始终为"text/javascript"
如果加载或包含ES模块代码,值为"module"
3. nomodule
兼容不支持ES6的浏览器:主要是IE11
4. defer
5. async
6. crossorigin
6.1 基本概念
-
Cross Origin Resource Share/涉及如下元素(跨源资源共享)
<script>、<link>、<img>、<audio>、<video> -
Origin由三部分组成:protocol(协议)、domain(域名)、port(端口)
-
使用CORS的请求
6.2 如果是跨域请求,可以用来设置"凭据模式"(credentials mode)
【说明】凭据:HTML cookie、TSL客户端证书、HTTP authentication
-
值为"anonymous",表示不包含凭据(保持匿名的请求)
-
值为"use-credentials",表示包含凭据
-
不设置这个属性,或值为"",相当于"anonymous"
7. intergrity
Subresource Intergrity
浏览器在加载带有intergrity属性的<script>或<link>标签时,在下载完文件后,会先比较自己计算的散列值与intergrity属性值,如果不相等,则返回网络错误
<script
crossorigin="anonymous"
integrity="sha256-PJJrxrJLzT6CCz1jDfQXTRWOO9zmemDQbmLtSlFQluc="
src="https://assets-cdn.github.com/assets/frameworks-3c926bc6b24bcd3e820b3d630df4174d158e3bdce67a60d06e62ed4a515096e7.js"
>
</script>
8. charset
9. language
二、加载时机
