有关知乎页面里,script的type为text/json的用法

见zhihu的页面,script用text/json修饰,同时设置了data-name,请问这个用的是什么知识或原理?

clipboard.png

阅读 3.3k
评论
    2 个回答

    就相当于申明一个变量,没什么特别的。。

    看base.js,原理就是遍历$('script.json-inline'),输出所有配置到一个对象里……
    之所以是text/json,你用其他的text/aaa也是一样的,只要是浏览器不认识的script type,其中的代码就不会执行。

      • 1.7k

      data-*是自定义属性,允许你自行命名,并赋予任意值,作为数据存储。
      <script>标签在不写type属性或者属性为type="text/javascript"时,会作为javascript执行,其他情况下,会把标签内的代码当作纯文本,不作任何处理。
      结论,该网站利用这种不会执行的script标签,用来存储一些数据,而data-*,可用来标识数据,以供查找。

        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章