我试图看看是否可以使用ICanHaz或车把来构建Google插件的侧边栏。然而,事实证明,Caja正在从我的脚本标记中去掉实际的HTML。有什么办法可以防止这种情况发生吗?
假设我的车把模板是这样的:
<script id="user" type="text/x-handlebars-template">
<li>
<p class="name">Hello I'm {{ name }}</p>
</li>
</script>现在,在运行时是这样的:
<script id="user-caja-guest-0___" data-caja-type="text/x-handlebars-template"></script>因此,即使我能够使用$('#user").html()查找它,它也只会给我一个空的模板。有办法阻止Caja这样做吗?
发布于 2014-03-13 16:29:13
Caja目前不支持在任何情况下保留<script>元素的内容,并且假设所有脚本文本都是JavaScript。这是有可能的,但支持是不平凡的。如果您需要此功能,请为它提出请求。
发布于 2015-03-09 20:30:47
这似乎适用于Handlebars.js与Caja。
模板标记(没有脚本标记+隐藏div)
<div id="entry-template" class="header" style="display: none">
<h1>{{title}}</h1>
<div class="body">
{{body}}
</div>
</div>然后你的剧本
var source = $("#entry-template").html();
var template = Handlebars.compile(source);
var context = {title: "My New Post", body: "This is my first post!"};
alert(template(context));我们得到了
<h1>My New Post</h1>
<div class="body">
This is my first post!
</div>https://stackoverflow.com/questions/22375548
复制相似问题