html中的js(script标签中的常用属性)

18 篇文章 0 订阅
2 篇文章 0 订阅

JavaScript

1.核心 ECMAScript
2. 文档对象模型(DOM)
3. 浏览器对象模型(BOM)

文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在 HTML 中使用扩 展的 XML。
IE3 和 Netscape Navigator 3 提供了浏览器对象模型(BOM) API,用于支持访问和操作浏览器的窗口。

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。
 ECMAScript:由 ECMA-262 定义并提供核心功能。
 文档对象模型(DOM):提供与网页内容交互的方法和接口。
 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。

html中的js

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

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

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

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

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

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

按照惯例,外部 JavaScript 文件的扩展名是.js。这不是必需的,因为浏览器不会检查所包含 JavaScript 文件的扩展名。这就为使用服务器端脚本语言动态生成 JavaScript 代码,或者在浏览器中将 JavaScript扩展语言(如TypeScript,或React的 JSX)转译为JavaScript提供了可能性。不过要注意,服务器经常会根据文件扩展来确定响应的正确 MIME 类型。如果不打算使用.js 扩展名,一定要确保服务器能返回正确的 MIME 类型。

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

不管包含的是什么代码,浏览器都会按照<\script>在页面中出现的顺序依次解释它们,前提是它们没有使用 defer 和 async 属性。第二个元素的代码解释完毕才能开始解释,第三个则必须等第二个解释完,以此类推。
与 defer 不同的是,标记为 async 的脚本并不保证能按照它们出现的次序执行,

<noscript>元素可以包含任何可以出现在<body>中的 HTML 元素,<script>除外。在下列两种
情况下,浏览器将显示包含在<noscript>中的内容:
 浏览器不支持脚本;
 浏览器对脚本的支持被关闭。
任何一个条件被满足,包含在<noscript>中的内容就会被渲染。否则,浏览器不会渲染<noscript>
中的内容。

总结

 要包含外部 JavaScript 文件,必须将 src 属性设置为要包含文件的 URL。文件可以跟网页在同
一台服务器上,也可以位于完全不同的域。
 所有<script>元素会依照它们在网页中出现的次序被解释。在不使用 defer 和 async 属性的
情况下,包含在<script>元素中的代码必须严格按次序解释。
 对不推迟执行的脚本,浏览器必须解释完位于<script>元素中的代码,然后才能继续渲染页面
的剩余部分。为此,通常应该把<script>元素放到页面末尾,介于主内容之后及标签
之前。
 可以使用 defer 属性把脚本推迟到文档渲染完毕后再执行。推迟的脚本原则上按照它们被列出
的次序执行。
 可以使用 async 属性表示脚本不需要等待其他脚本,同时也不阻塞文档渲染,即异步加载。异
步脚本不能保证按照它们在页面中出现的次序执行。
 通过使用<noscript>元素,可以指定在浏览器不支持脚本时显示的内容。如果浏览器支持并启
用脚本,则<noscript>元素中的任何内容都不会被渲染。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值