二:HTML中嵌入JavaScript

166 阅读1分钟

HTML 是网站的结构主体,在HTML中嵌入JavaScipt可以丰富HTML文档的内容,主要是增加用户与网站的交互。

<script>元素

将JavaScript 插入HTML的主要方法是使用<script>元素。

<script>元素 主要主要有以下几个常用的属性。

属性是否可选功能
async可选表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本加载。只对外部脚本有效。
crossorigin可选配置相关请求的CORS(跨源资源共享)设置。默认不使用CORS。crossorigin=“anonymous”配置文件请求不必设置设置凭据标志。crossorigin=“use-credentials”设置凭据标志,意味着出站请求会包含凭据。
defer可选表示脚本可以延迟到文档完全被解析和显示之后再执行。只针对外部文件有效
integrity可选允许比对接收到的资源和制定的加密签名以验证子资源完整性。如果接收到的资源的签名与这个属性的签名不匹配,则页面会报错,脚本不会执行。这个属性可以用于确保分发网络(CDN)不会提供恶意内容。
src可选表示包含要执行的代码的外部文件
type可选代替language,表示代码库中脚本语言的内容类型(也称MIME类型)。如果这个值是module,则代表代码会被当成ES6模块,而且只有这时候代码中才能出现import 和export关键字。

需要注意的是,使用了src属性的<script>元素不应该再在<script>和</script>标签中再包含其他的JavaScript代码。如果两者都提供的话,浏览器只会下载并执行脚本文件,从而忽略行内代码。

<script>元素的位置

 建议放在body 元素中的底部。
 
<!DOCTYPE html>
<html>
    <head>
        <title> Example HTML  </title>
    </head>
    <body>
    <!--------html 元素,页面内容--->
    <script src="example.js"></script>
    </body>
 </html>

JavaScipt代码编写形式

(1)行内代码
直接在<script>和</script>标签中编写代码。
(2)外部代码
通过在独立文件中编写代码,再通过<script>元素的src 属性引入该文件。

JavaScipt代码的执行策略。

(1)推迟执行脚本
通过设置defer属性,可以使脚本在整个页面解析完毕后再执行。脚本不能修改页面结构。
(2)异步执行脚本
通过设置async 属性,达到与defer 属性一致的效果,但是异步执行与defer的不同之处在于,async 不保证脚本按照他们出现的次序执行。脚本不能修改页面结构。

动态加载脚本

在<script>元素中通过DOM API 动态的加载script 文件。

<script>
    let script = document.createElement('script');
    script.src = "gibberish.js";
    document.head.appendChild(script);
</script>