script标签type属性

script标签中的type的使用

type

MDN:该属性定义script标签元素包含或src应用的脚本语言,属性的值为MINE类型,也叫媒体类型。支持的为text/javascript,application/javascript,text/ecmascript,application/ecmascript,application/json,module
大部分媒体类型是服务器端通过http协议告知客户端(浏览器)的,服务端通过content-type这个响应头来告诉浏览器收到的响应体的媒体类型。

type=‘text/javascript’

<script type="text/javascript"></script>

type=“application/json”

<script type="application/json">
    {
      "data": [
        {
          "a": 1,
          "b": 2
        },
        {
          "c": 3,
          "d": 4
        }
      ],
      "total": 100
    }
</script>

浏览器会将标签中的内容当作json格式

type="application/json"应用场景

页面中的数据和图片,以及信息,希望能够通过配置完成,然后通过ajax请求

<script id="_json_data" type="application/json">
    {
      "data": [
        {
          "a": 1,
          "b": 2
        },
        {
          "c": 3,
          "d": 4
        }
      ],
      "total": 100
    }
</script>
const jsonScriptNode = document.getElementById("_json_data")
const jsonStr = jsonScriptNode.innerText;
const json = JSON.parse(jsonStr);

type=“module”

script type="module"会受到cors策略的限制,直接在浏览器中打开文件使用的是file协议。需要使用起一个服务才可以使用,可以利用live-server插件,也可以写个node后端。

  • type="module"的script标签内部默认的标签是严格模式
  • type="module"的script标签内的变量,是script标签的私有变量
  • type="module"的script标签通过src属性引入的js代码需要服务端支持cors跨域
  • type="module"的script标签只有在支持es6的浏览器中才能进行
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值