读书笔记:《JavaScript高级程序设计》(第4版)--第二章:HTML中的JavaScript

2.1<script>元素

1. <script>元素有下列7个属性,皆为可选:

        async:表示应该立即开始下载脚本,不阻塞其他页面动作。异步加载,不保证按照页面中出现的次序执行。只对外部脚本文件有效。

        defer:把脚本推迟到文档渲染完毕后再执行。按照列出的次序执行。只对外部文件有效。

        charset:使用src属性指定的代码字符集。很少使用。

        crossorigin:配置相关请求的CORS(跨域资源共享)设置。值为"use-credentials"设置凭据标志,意味着出战请求会包含凭据。

        integrity:允许比对接收到的资源和指定的加密签名以验证子资源完整性。不匹配则页面报错,脚本不会执行。

        src:包含要执行的代码的外部文件。

        type:表示代码块中脚本语言的内容类型(也称MIME类型)。惯例为"text/javascript"。

2. 使用<script>方式:在网页中嵌入JavaScript代码、在网页中包含外部JavaScript文件。

3. 使用行内JavaScript代码时,要注意代码中不能出现字符串</script>,使用转义字符“\”,转义‘/’

4. 与解释行内JavaScrip一样,在解释外部JavaScript文件时,页面也会阻塞。(阻塞时间也包含下载文件的时间)

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

6. src属性为完整URL时,会发送一个get请求,不受浏览器同源策略限制。使用integrity属性是防范跨域攻击的一个武器。

7. 对于未使用defer和async属性的<script>文件,浏览器一定按照顺序依次加载执行。

2.1.1标签位置

        <script>放在<body>元素中的页面内容后面。页面会在处理JavaScript代码之前完全渲染页面,减少浏览器留白时间。

2.1.2推迟执行脚本

        defer这个属性通常用于待执行的脚本不会改变页面的结构,可以在整个页面解析完之后再运行。立即下载,推迟执行,通常按defer出现的次序执行(但实际可能不一定)

2.1.3异步执行脚本

        async属性告诉浏览器立即开始下载,谁先下载完谁先执行

2.1.4动态加载脚本

        向DOM中动态添加script元素。

2.4<noscript>元素

        使用<noscript>元素,可以指定在浏览器不支持脚本或对脚本的支持已关闭时显示的内容。若浏览器支持并启用脚本,则<noscript>元素中的任何内容都不会被渲染。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值