<script>
<script>
用于加载脚本代码,目前主要是加载 JavaScript 代码。
<script>
console.log('hello world');
</script>
上面代码嵌入网页,会立即执行。
<script>
也可以加载外部脚本,src
属性给出外部脚本的地址。
<script src="javascript.js"></script>
上面代码会加载javascript.js
脚本文件,并执行。
type
属性给出脚本的类型,默认是 JavaScript 代码,所以可省略。完整的写法其实是下面这样。
<script type="text/javascript" src="javascript.js"></script>
type
属性也可以设成module
,表示这是一个 ES6 模块,不是传统脚本。
<script type="module" src="main.js"></script>
对于那些不支持 ES6 模块的浏览器,可以设置nomodule
属性。支持 ES6 模块的浏览器,会不加载指定的脚本。这个属性通常与type="module"
配合使用,作为老式浏览器的回退方案。
<script type="module" src="main.js"></script>
<script nomodule src="fallback.js"></script>
<script>
还有下面一些其他属性,大部分跟 JavaScript 语言有关,可以参考相关的 JavaScript 教程。
async
:该属性指定 JavaScript 代码为异步执行,不是造成阻塞效果,JavaScript 代码默认是同步执行。defer
:该属性指定 JavaScript 代码不是立即执行,而是页面解析完成后执行。crossorigin
:如果采用这个属性,就会采用跨域的方式加载外部脚本,即 HTTP 请求的头信息会加上origin
字段。integrity
:给出外部脚本的哈希值,防止脚本被篡改。只有哈希值相符的外部脚本,才会执行。nonce
:一个密码随机数,由服务器在 HTTP 头信息里面给出,每次加载脚本都不一样。它相当于给出了内嵌脚本的白名单,只有在白名单内的脚本才能执行。referrerpolicy
:HTTP 请求的Referer
字段的处理方法。