第二章HTML中的js

一、<script>标签的属性(部分)

  • async:立即开始下载脚本,只对外部文件有效。
  • crossorigin:配置相关请求的CORS(跨资源共享)设置。默认不使用。
  • defer:立即下载,延迟文档被完全解析和显示后再执行。只对外部文件有效。
  • integrity:验证子资源完整性(通过匹配接收资源和指定加密签名来验证)。确保CDN 不会提供恶意内容。
  • type:值为module时会被当成es6,可以使用import和export。

<script src=“http://www.someone.com/afile.js”></script>
浏览器在解析资源时,会向src路径发送一个get请求,来获取资源,初始请求不受同源策略限制,但返回并被执行的js会受限。也受父页面http/https协议限制

async和defer的异同点
同:均是立即下载,延迟执行
异:async异步加载,无法保证脚本按照顺序执行

动态加载脚本:

let script = document.createElement("script");
script.src = "111.js";
 //以这种方式进行加载的话默认async=true是异步加载,所以要设置async使其同步加载
script.async = false;
document.head.appendChild(script);
//这种方法获取资源对浏览器预加载器不可见,会影响其在资源获取队列中的优先级。要想让预加载器知道这些动态请求文件的存在,需要在文档头部显示声明:
//<link rel = "preload" href="111.js">

二、推荐外部文件原因:好维护,加载快,适应未来
三、文档模式

  1. 混杂模式:以省略文档开头的doctype声明作为开关。这个约定不合理,因为这种模式在不同浏览器中差异很大,不用黑科技基本无一致性可言。

  2. 标准模式:通过以下几种文档类型声明开启

<!-- HTML 4.01 Strict -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<!-- XHTML 1.0 Strict -->
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- HTML5 -->
<!DOCTYPE html>
  1. 准标准模式:通过过渡性文档类型和框架集文档类型来触发
<!-- HTML 4.01 Transitional -->
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<!-- HTML 4.01 Frameset -->
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

<!-- XHTML 1.0 Transitional -->
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!-- XHTML 1.0 Frameset -->
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

四、<noscript>元素
当浏览器不支持js或者禁用js时,noscript中的内容就会被显示出来。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值