html - <script type="text/html">

其中 text/html 是 MIME(类似于扩展名)的一种。

姑且将 <script type='text/html'> 称之为 “html脚本” 吧。

这种脚本,通常作为代码模版使用。类似于短信模版、邮件模版,预置一些占位符。使用的时候,用实际数值替换占位符。

与 text/javascript 一样,不会直接在界面上打印这些内容,使用的时候,需要 javascript 读取、加工后使用。

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>无标题文档</title>
</head>
<script type="text/javascript" src="../res/js/jquery.min.js"></script>
<body>

<input type="button" id="addFun" value="click me" onclick="loadHtml()" />

<!-- 父级容器 -->
<div id="comment_ul_2"> </div>

<!-- 一个代码模版,包含很多的占位符 -->
<script id="commentTemplate" type="text/html">
  <li>
    <div class="photo">
      <a href="#">
        <img src="{{UserImg}}" /></a></div>
    <p>
      <a href="#">{{UserName}}:</a>
      <span class="time">{{CreateDate}}</span></p>
    <div class="clear">
    </div>
  </li>
</script>
<script type="text/javascript">
  function loadHtml() {
    // 用于填充占位符的数值
    var data={'UserImg':'aaaaa','UserName':'zhang','CreateDate':'2011-1-1'};

    // 替换占位符之后,将代码追加到父级容器中
    $("#comment_ul_2").append(template("commentTemplate",data));
  }

  // 替换占位符的函数
  function template(cellId,data){
    var reg = new RegExp("\\{\\{([^\\[\\]]*?)\\}\\}", 'igm');
    var html = document.getElementById(cellId).innerHTML;
    return html.replace(reg,
            function (node, key) {
              return data[key];
            }
    );
  }
</script>
</body>
</html>

posted on   疯狂的妞妞  阅读(798)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示