此文已由作者杨帆授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
注:经过更深入的测试,实在不好意思,这篇文章是有问题的 更改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+款云产品!
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 nova状态同步
【推荐】 网易对象存储NOS图床神器
【推荐】 微服务监控探索