见zhihu的页面,script用text/json修饰,同时设置了data-name,请问这个用的是什么知识或原理?
见zhihu的页面,script用text/json修饰,同时设置了data-name,请问这个用的是什么知识或原理?
data-*
是自定义属性,允许你自行命名,并赋予任意值,作为数据存储。<script>
标签在不写type
属性或者属性为type="text/javascript"
时,会作为javascript执行,其他情况下,会把标签内的代码当作纯文本,不作任何处理。
结论,该网站利用这种不会执行的script
标签,用来存储一些数据,而data-*
,可用来标识数据,以供查找。
3 回答794 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答874 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
1 回答889 阅读✓ 已解决
2 回答780 阅读
1 回答738 阅读✓ 已解决
就相当于申明一个变量,没什么特别的。。
看base.js,原理就是遍历$('script.json-inline'),输出所有配置到一个对象里……
之所以是text/json,你用其他的text/aaa也是一样的,只要是浏览器不认识的script type,其中的代码就不会执行。