js中<script> 标签中type值及其含义

2024-08-29 03:36
文章标签 script js type 标签 含义

本文主要是介绍js中<script> 标签中type值及其含义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 HTML 中的 script 标签中,type 属性用于指定脚本的 MIME 类型,也即告诉浏览器该如何解释和处理脚本的内容。常用的 type 值以及它们的含义如下:

1. type=“text/javascript”

  • 含义: 指定脚本是 JavaScript 类型。这是早期的标准方式,现代浏览器默认都会将script标签中的内容当作 JavaScript 处理,因此不再需要显式指定。
  • 示例
<script type="text/javascript">console.log("This is a JavaScript script.");
</script>

2. type=“module”

  • 含义: 指定脚本是一个 JavaScript 模块。模块可以导入和导出其他模块,并且默认以严格模式(strict mode)执行。使用模块时,浏览器会对每个模块进行独立的处理,可以避免全局命名冲突。

  • 特点:

    • 可以使用 import 和 export 语法。
    • 支持 import.meta 和动态导入 (import())。
    • 模块中的代码自动运行在严格模式下
  • 示例:

<script type="module">import { myFunction } from './myModule.js';myFunction();
</script>

3.type=“application/javascript”

  • 含义: 这是 text/javascript 的另一个有效 MIME 类型,同样用于指定 JavaScript 类型。虽然技术上是正确的,但在实践中较少使用。
  • 示例
<script type="application/javascript">console.log("This is a JavaScript script.");
</script>

4. type=“application/json”

  • 含义: 用于包含 JSON 数据。浏览器不会执行 script标签中的内容,而是可以通过 JavaScript 代码使用该数据。通常用于嵌入页面内的静态数据。
<script type="application/json" id="myData">{"name": "John","age": 30}
</script><script>const dataElement = document.getElementById('myData');const jsonData = JSON.parse(dataElement.textContent);console.log(jsonData.name); // 输出 "John"
</script>

5. type=“text/babel”

  • 含义: 通常用于 JSX 或 ES6+ 代码,表示这些代码需要使用 Babel 转译器来处理。浏览器本身不会识别此类型的脚本,通常需要在开发过程中通过 Babel 转换成兼容的 JavaScript 代码。
  • 示例:
<script type="text/babel">const element = <h1>Hello, world!</h1>;ReactDOM.render(element, document.getElementById('root'));
</script>

6. type=“text/coffeescript”

  • 含义: 用于 CoffeeScript 代码。浏览器不能直接执行 CoffeeScript,通常需要一个预处理器将其转换成 JavaScript。
  • 示例
<script type="text/coffeescript">square = (x) -> x * xconsole.log(square(3))
</script>

7. type=“text/plain”

  • 含义: 浏览器会将内容作为纯文本处理,而不是脚本。这意味着内容不会被执行或解析。
  • 示例:
<script type="text/plain">console.log("This will not be executed as JavaScript.");
</script>

8. type=“application/ld+json”

  • 含义: 用于嵌入 JSON-LD(JavaScript Object Notation for Linked Data)数据,通常用于结构化数据标记(如向搜索引擎提供额外的元数据)
  • 示例:
<script type="application/ld+json">
{"@context": "https://schema.org","@type": "Person","name": "John Doe","jobTitle": "Software Engineer","url": "https://www.example.com"
}
</script>

9. type=“text/x-template”

  • 含义: 用于定义 JavaScript 模板(如 Vue.js 的模板)。浏览器不会解析和执行内容,通常在 JavaScript 代码中获取并使用模板。
  • 示例:
<script type="text/x-template" id="my-template"><div><h1>{{ title }}</h1><p>{{ description }}</p></div>
</script>

10. 省略 type 属性

  • 含义: 如果省略 type 属性,浏览器默认将其作为 text/javascript 处理。这也是现代 Web 开发中最常用的方式。
  • 示例:
<script>console.log("This is JavaScript by default.");
</script>

总结
不同的 type 值适用于不同的场景和需求。type=“module” 和 type=“text/javascript” 是目前最常用的用于 JavaScript 的类型。而像 application/json 和 application/ld+json 则用于特定类型的数据嵌入,text/x-template 常用于前端模板引擎中。

这篇关于js中<script> 标签中type值及其含义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116723

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

JS 实现复制到剪贴板的几种方式小结

《JS实现复制到剪贴板的几种方式小结》本文主要介绍了JS实现复制到剪贴板的几种方式小结,包括ClipboardAPI和document.execCommand这两种方法,具有一定的参考价值,感兴趣的... 目录一、Clipboard API相关属性方法二、document.execCommand优点:缺点:

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

JavaScript DOM操作与事件处理方法

《JavaScriptDOM操作与事件处理方法》本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵... 目录前言1. 类名操作代码片段代码解析2. 属性操作代码片段代码解析3. 内容操作代码片段代码解析4.

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.