summaryrefslogtreecommitdiffstats
path: root/demo/SafeString.html
blob: 64d1f5416f9e4a47197cf3e04abecaa6c1e17182 (plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Handlebars 中文网:{ HTML 转义配合 SafeString }</title>
    <link rel="stylesheet" href="../static/css/demo.css">
    <script src="../static/js/jquery-1.11.1.min.js"></script>
    <script src="../static/js/handlebars-v3.0.0.js"></script>
    <script src="../static/js/demo.js"></script>
</head>
<body>
    <div class="ui-header">
        <h1 class="ui-header-title">
            <a href="../index.html" class="ui-header-tip">Handlebars 中文网:</a>{ HTML 转义配合 SafeString }
            <span class="ui-header-more">
                <iframe src="http://ghbtns.com/github-btn.html?user=nimojs&repo=handlebarsjs.org&type=watch&count=true&size=large"
  allowtransparency="true" frameborder="0" scrolling="0" width="131" height="30"></iframe>
            </span>
        </h1>
    </div>
    <div class="ui-box"><!-- ui-box Start -->
      建议将此页面保存至本地修改相关代码以帮助理解,与本示例相关的文档:<a href="../index.html#SafeString">HTML 转义配合 SafeString</a>

<!-- 模板 -->
<script class="show" id="source" type="text/x-handlebars-template">
{{{link "<em>html</em>" "http://www.handlebarsjs.org"}}}
</script>

<!-- 数据 -->
<script class="show json-format-error" id="data" type="text/json">

</script>        

<!-- helper实现 -->
<script class="show" id="helper">
Handlebars.registerHelper('link', function(text, url) {
    // 将下行 text = ... 注释以查看未作安全性转义导致的文字倾斜效果
    text = Handlebars.Utils.escapeExpression(text);
    url  = Handlebars.Utils.escapeExpression(url);

    var result = '<a href="' + url + '">' + text + '</a>';

    return new Handlebars.SafeString(result);
});
</script>
<!-- 渲染结果字符 -->
<div class="expandingArea">
    <textarea class="show" id="result"></textarea>
    <pre id="expandingPre"><span></span><br></pre>
</div>

<div class="ui-dom" id="dom"></div>
    </div><!-- ui-box End -->
    <div class="ui-error" id="showerror"></div>
</body>
</html>