此文已由作者杨帆授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
注:经过更深入的测试,实在不好意思,这篇文章是有问题的 更改script的type属性 并不能通过src来加载,只能在该文件中解析。 requirejs 的text原理是通过XHR载入的)
测试如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<script id="test1" type="text/html">
<h1><% title %></h1>
</script>
<script id="test2" type="text/css">
body{background-color:#0CC;}
</script>
<script>
alert(document.getElementById('test1').innerHTML + '->' + document.getElementById('test2').innerHTML);
</script>
<script id="test3" type="text/html">
<p><a href="#">[UserName]:</a><span >[CreateDate]</span></p>
</script>
<div id="comment_ul_2"></div>
<input type="button" value="click me" onclick="add()" />
<script type="text/javascript">
var reg = new RegExp("\\[([^\\[\\]]*?)\\]", 'igm');
function add() {
var html = document.getElementById("test3").innerHTML;
var source = html.replace(reg, function(node, key) {
return {'UserName': 'yang', 'CreateDate': '2014-10-21'}[key];
});
document.getElementById('comment_ul_2').innerHTML = source;
};
</script>
</body>
</html>
text/html的意思是将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理
text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理 and so on
MIME_type |
MIME 类型。其中一些值:
|
网易云免费体验馆,0成本体验20+款云产品!
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 流式处理框架storm浅析(上篇)
【推荐】 jq 一个强悍的json格式化查看工具
【推荐】 【大数据之数据仓库】GreenPlum PK DeepGreen(TPCH)