script
用于嵌入或引用可执行脚本。这通常用作嵌入或者指向 JavaScript 代码。]
属性
1. src
这个属性定义引用外部脚本的URI,这可以用来代替直接在文档中嵌入脚本。指定了 src 属性的script元素标签内不应该再有嵌入的脚本。
<script src="file.js"></script>
2. type
该属性定义script元素包含或src引用的脚本语言。属性的值为MIME类型;
支持的MIME类型包括:
- text/javascript(默认)
- text/ecmascript
- application/javascript
- application/ecmascript
<script src="demo.js" type="text/javascript"></script>
- module( 代码会被当作JavaScript模块)
3. async(HTML5)
该属性指示浏览器是否在允许的情况下异步执行该脚本。该属性对于没有src属性的脚本不起作用。
<script src="file.js" async></script>
等同于下面
var script = document.createElement('script');
script.src = "file.js";
document.body.appendChild(script);
//从脚本中创建的脚本默认为异步。
4. defer
这个属性被设定用来通知浏览器“该脚本将在文档完成解析后,触发 DOMContentLoaded 事件前执行”。如果无src,则不起作用。
<script src="demo.js" defer></script>
async和defer的区别:
defer要等到整个页面正常渲染结束,才会执行;
async是在渲染html时发现 脚本已经异步下载完,就去执行,执行完了,再继续往下渲染html。
5. text
和 textContent 属性类似,本属性用于设置元素的文本内容。但和 textContent 不一样的是,本属性在节点插入到DOM之后,此属性被解析为可执行代码。
6.crossorigin
使用本属性来使那些将静态资源放在另外一个域名的站点打印错误信息。
7. integrity
提供hash值,来验证览器获得的资源(例如从 CDN 获得的)是否被篡改。