【JS高级程序设计(第4版)学习笔记】第二章 HTML中的JavaScript

一、将JavaScript插入HTML的主要方法是使用<script>元素。<script>元素有以下属性:

async:

可选。表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本加载。只对外部脚本文件有效。

charset:

可选。使用 src 属性指定的代码字符集。这个属性很少使用,因为大多数浏览器不在乎它的值。

crossorigin:

可选。配置相关请求的CORS(跨源资源共享)设置。默认不使用CORS。 crossorigin="anonymous" 配置文件请求不必设置凭据标志。 crossorigin="use-credentials" 设置凭据标志,意味着出站请求会包含凭据。

defer:

可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。在 IE7 及更早的版本中,对行内脚本也可以指定这个属性。

integrity:

可选。允许比对接收到的资源和指定的加密签名以验证子资源完整性(SRI,
Subresource Integrity)。如果接收到的资源的签名与这个属性指定的签名不匹配,则页面会报错,脚本不会执行。这个属性可以用于确保内容分发网络(CDN,Content Delivery Network)不会提供恶意内容。

src: 可选。表示包含要执行的代码的外部文件。
type:

可选。代替 language ,表示代码块中脚本语言的内容类型(也称 MIME 类型)。按照惯例,这个值始终都是 "text/javascript".不过给type 属性这个值有可能导致脚本被忽略。

使用Script会使页面阻塞,阻塞事件也包含下载文件的时间。

二、使用<script>的方式有两种:

(1)通过它直接在网页中嵌入JavaScript代码

(2)通过它在网页中包含外部JavaScript文件。

所有<script>元素都放在页面的<head>标签内,可以把外部的css和JavaScript文件都集中到一起,同时也意味着必须把所有js代码都下载、解析和解释完成后,才能渲染页面,会导致渲染页面明显延迟。在此期间浏览器窗口完全空白。为解决这个问题,通常将JavaScript引用放在<body>元素中的页面内容后面。页面会在处理JavaScript代码之前完全渲染页面。用户会感觉页面加载更快了,因为浏览器显示空白页面的时间短了。


三、<noscript>

<noscript>:当浏览器不支持脚本或对脚本的支持被关闭时,包含在<noscript>中的内容就会被渲染。否则浏览器不会渲染<noscript>中的内容.例如:

这个例子是在脚本不可用时让浏览器显示一段话。如果浏览器支持脚本,则用户永远不会看到它。

原文地址:https://www.cnblogs.com/Small-Windmill/p/13846371.html