script元素
属性
- async:表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本加载。只对外部脚本文件有效【异步脚本保证会在页面的 load 事件前执行,但可能会在 DOMContentLoaded之前或之后】
- charset:使用 src 属性指定的代码字符集
- crossorigin:配置相关请求的CORS(跨源资源共享)设置
- defer:表示脚本可以延迟到文档完全被解析和显示之后再执行(只使用与外部脚本)
- integrity:允许比对接收到的资源和指定的加密签名以验证子资源完整性(SRI)。【收到的资源的签名与这个属性指定的签名不匹配,则页面会报错,这个属性可以用于确保内容分发网络(CDN)不会提供恶意内容。】
- src表示包含要执行的代码的外部文件
- type:表示代码块中脚本语言的内容类型。这个值始终都是"text/javascript"。如果这个值是 module,则代码会被当成 ES6 模块,而且只有这时候代码中才能出现 import 和 export 关键字。
- language:废弃
src 属性的< script >元素不应该再在< script >和< /script >标签中再包含其他JavaScript 代码。如果两者都提供的话,则浏览器只会下载并执行脚本文件,从而忽略行内代码
< script src="http://www.somewhere.com/afile.js" >< / script >
浏览器在解析这个资源时,会向 src 属性指定的路径发送一个 GET 请求,以取得相应资源,这个初始的请求不受浏览器同源策略限制,但返回并被执行的 JavaScript 则受限制。
文档模式
- 混杂模式
- 标准模式
- 准标准模式
混杂模式在所有浏览器中都以省略文档开头的 doctype 声明作为开关
标准模式通过下列几种文档类型声明开启
<!- - HTML5 - ->
<!DOCTYPE html>
noscript元素
被用于给不支持 JavaScript 的浏览器提供替代内容。
< noscript >元素可以包含任何可以出现在< body>中的 HTML 元素>元素可以包含任何可以出现在< body>中的 HTML 元素
下列两种情况下,浏览器将显示包含在< noscript>中的内容
- 浏览器不支持脚本
- 浏览器对脚本的支持被关闭。