您好,登录后才能下订单哦!
# HTML引入的外部JavaScript是什么属性
## 引言
在现代Web开发中,JavaScript是不可或缺的一部分。为了保持代码的整洁和可维护性,开发者通常会将JavaScript代码存储在外部文件中,并通过HTML文件引入。本文将深入探讨HTML中引入外部JavaScript的属性及其相关细节。
---
## 1. `<script>`标签基础
在HTML中,`<script>`标签用于嵌入或引用JavaScript代码。当我们需要引入外部JavaScript文件时,通常会使用`<script>`标签的`src`属性。
### 基本语法
```html
<script src="path/to/your-script.js"></script>
src
:指定外部JavaScript文件的路径。type
(可选):指定脚本的MIME类型,默认为text/javascript
(HTML5中可省略)。async
/defer
:控制脚本的加载和执行行为(后文详细说明)。src
属性src
(source的缩写)是引入外部JavaScript文件的核心属性,其值为文件的URL。路径可以是:
- 相对路径:如scripts/main.js
。
- 绝对路径:如/assets/js/main.js
。
- 完整URL:如https://example.com/js/main.js
。
<!-- 相对路径 -->
<script src="js/app.js"></script>
<!-- 完整URL -->
<script src="https://cdn.example.com/library.js"></script>
type
属性在HTML5之前,type="text/javascript"
是必需的,但HTML5将其设为默认值,因此可以省略。
其他可能的值:
- module
:表示脚本为ES6模块(支持import/export
)。
- application/json
:用于JSON数据(非脚本)。
<!-- 传统写法 -->
<script type="text/javascript" src="old-school.js"></script>
<!-- HTML5推荐写法 -->
<script src="modern.js"></script>
<!-- ES6模块 -->
<script type="module" src="module.js"></script>
async
与defer
属性这两个属性用于控制脚本的加载和执行时机,对页面性能有重要影响。
async
(异步加载)<script async src="analytics.js"></script>
defer
(延迟执行)<script defer src="dependency.js"></script>
<script defer src="app.js"></script> <!-- 保证在dependency.js后执行 -->
属性 | 加载方式 | 执行时机 | 顺序保证 |
---|---|---|---|
无 | 同步 | 遇到标签时立即执行 | 是 |
async |
异步 | 加载完成后立即执行 | 否 |
defer |
异步 | HTML解析完成后执行 | 是 |
crossorigin
用于控制跨域请求的CORS(跨源资源共享)行为:
- anonymous
:不发送凭据(如cookies)。
- use-credentials
:发送凭据。
<script crossorigin="anonymous" src="https://cdn.example.com/lib.js"></script>
integrity
用于子资源完整性(SRI)校验,防止CDN资源被篡改。值为文件的哈希值。
<script
src="https://example.com/jquery.min.js"
integrity="sha384-xxxxx"
crossorigin="anonymous">
</script>
defer
:除非脚本无需等待DOM,否则defer
能提升页面加载性能。.min.js
文件减小体积。async
脚本执行顺序混乱?因为async
脚本加载完成后会立即执行,若多个脚本加载速度不同,执行顺序无法保证。
defer
和DOMContentLoaded
事件的关系?defer
脚本会在DOMContentLoaded
事件前执行。
<script>
标签默认是async
吗?是的,通过document.createElement('script')
创建的脚本默认是异步的。
理解HTML中引入外部JavaScript的属性(如src
、async
、defer
等)是优化页面性能和脚本管理的关键。通过合理选择属性,开发者可以显著提升用户体验和代码可维护性。
延伸阅读:
- MDN<script>
文档
- Google开发者性能指南 “`
这篇文章总计约1350字,涵盖了外部JavaScript引入的核心属性、使用场景及最佳实践,采用Markdown格式并包含代码示例和表格对比。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。