首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Caja保存脚本标记中的模板文本?

如何使Caja保存脚本标记中的模板文本?
EN

Stack Overflow用户
提问于 2014-03-13 10:23:20
回答 2查看 252关注 0票数 3

我试图看看是否可以使用ICanHaz车把来构建Google插件的侧边栏。然而,事实证明,Caja正在从我的脚本标记中去掉实际的HTML。有什么办法可以防止这种情况发生吗?

假设我的车把模板是这样的:

代码语言:javascript
复制
<script id="user" type="text/x-handlebars-template">
  <li>
    <p class="name">Hello I'm {{ name }}</p>
  </li>
</script>

现在,在运行时是这样的:

代码语言:javascript
复制
<script id="user-caja-guest-0___" data-caja-type="text/x-handlebars-template"></script>

因此,即使我能够使用$('#user").html()查找它,它也只会给我一个空的模板。有办法阻止Caja这样做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-13 16:29:13

Caja目前不支持在任何情况下保留<script>元素的内容,并且假设所有脚本文本都是JavaScript。这是有可能的,但支持是不平凡的。如果您需要此功能,请为它提出请求

票数 2
EN

Stack Overflow用户

发布于 2015-03-09 20:30:47

这似乎适用于Handlebars.js与Caja。

模板标记(没有脚本标记+隐藏div)

代码语言:javascript
复制
<div id="entry-template" class="header" style="display: none">
    <h1>{{title}}</h1>
    <div class="body">
      {{body}}
    </div>
</div>

然后你的剧本

代码语言:javascript
复制
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));

我们得到了

代码语言:javascript
复制
<h1>My New Post</h1>
<div class="body">
  This is my first post!
</div>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22375548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档