V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ohmyga
V2EX  ›  程序员

发现好多站点都这么用 js 这是什么框架呢

  •  
  •   ohmyga · 2015-03-24 15:30:30 +08:00 · 3227 次点击
    这是一个创建于 3534 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <script id="aioBuddyTmpl" type="text/plian">
    <div class="rencentText">
    <span class="choiceText" id="choiceText">点击刚发送的好友或群组,发起会话</span>
    </div>
    <ul class="aioBuddyLong" id="aioBuddyList">
    <%
    for(var i = 0, len = list.length; i < len; i++){
    var item = list[i],
    name = encodeHtml(item.markname || item.nick || item.uin);
    var title = '点击发起会话';
    var padStyle;
    if(padFlag){
    padStyle = " padUnhover";
    }


    var lenReg = function(str){
      return str.replace(/[^x00-xFF]/g,'**').length;
    };
    var style;
    if(lenReg(name) < 7){
    style = "text-align:center";
    }else{
    style = "text-align:left";
    }
    %>
    <li id="aioBuddy_<%=item.uuid%>" cmd="clickAioBuddy" param="<%=item.uin%>" class="aioBuddyItem" title="<%=title%>"><div class="rencentBuddyIcon"><img src="<%=item.avatar%>" /><span></span></div><div style="<%=style%>" class="aioBuddyName"><%=name%></div></li>
    <% } %></ul>
    </script>
    6 条回复    2015-03-25 17:45:57 +08:00
    ETiV
        1
    ETiV  
       2015-03-24 15:34:35 +08:00 via iPhone
    制定个script的type

    当为非script的时候,浏览器不解析这段内容,也不显示。所以就可以当成页面内的html模板,以避免再发起请求去加载独立的模板文件。
    mcfog
        2
    mcfog  
       2015-03-24 15:35:51 +08:00
    就是最普通的ejs吧

    underscore或lodash或ejs都是这样的

    http://underscorejs.org/#template
    https://lodash.com/docs#template
    http://www.embeddedjs.com/
    jarlyyn
        3
    jarlyyn  
       2015-03-24 16:12:12 +08:00
    ejs。

    js的字符串不能分行,所以基本采用这样的方案多。
    script不管样式加载是否成功,都不会显示的,放在script里问题最少,而且也符合语义。
    moxhuis
        4
    moxhuis  
       2015-03-25 17:07:39 +08:00
    artTemplate
    GuangXiN
        5
    GuangXiN  
       2015-03-25 17:26:03 +08:00
    这就是个模板而已呀
    f0rger
        6
    f0rger  
       2015-03-25 17:45:57 +08:00
    type为text/plain或者text/template的话就不会解析执行。因为是script标签,所以页面也不会显示。
    然后就可以通过jq的方法如var tpl = $("#aioBuddyTmpl").html();得到script中的模板内容,调用对应的方法就可以使用了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1462 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:15 · PVG 01:15 · LAX 09:15 · JFK 12:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.