其实整章核心内容就是这个标签:<script></script>。看过两行前端代码的人应该都懂,就不啰嗦了。
两个比较实用的属性:
- defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只是对外部脚本文件有效。告诉浏览器立即下载,但延迟执行。延迟脚本总是按照指定顺序执行。使用方式:<script type="text/javascript" defer="defer" src="example.js"></script>
- async:可选。表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照他们在页面中出现的顺序执行。告诉浏览器立即下载,但延迟执行。使用方式:<script type="text/javascript" async src="example.js"></script>
HTML页面的加载是从上到下依次加载解析。浏览器在遇到<body>标签时才开始呈现内容。当碰到外来引入文件(如:.js文件)时,页面就会将当前.js文件下载、解析和执行完成以后,再依次加载下面的文件或执行后面的代码。有时会造成页面阻塞,影响用户体验。解决办法为:
- 将.js文件放到<body>元素之后;
- 用defer或async属性延迟脚本处理;
<noscript></noscript>标签:指定在不支持脚本或脚本被禁用的浏览器中显示替代内容。这个元素可以包含能够出现在文档<body>中的任何HTML元素。使用方式:<noscript><p>本页需要浏览器支持(启用)JavaScript。</p></noscript>