如何简单地将变量推送到Html服务模板AS Html

时间:2015-08-07 04:06:03

标签: google-apps-script

我正在使用:

<div class="progress-bar" 
     role="progressbar" 
     ng-style="{width: aProgressbar.complete + '%';">

其中包含一个变量:

var template = HtmlService.createTemplateFromFile("MyForm.html");

我正在尝试将此变量分配给另一个HTML文件的内容:

<?= defaultInnerHtml ?>

但是MyInnerHtml.html的内容变成了编码:尖括号被替换为实体等。我正在尝试在MyForm.html文件中添加更多Html,然后再回传。

我无法看到如何只显示原始内容以代替模板中的变量。

任何帮助?

1 个答案:

答案 0 :(得分:1)

要禁用此特定字符的上下文转义,请更改模板,使其嵌入变量的值,如下所示:

<?!= defaultInnerHtml ?>

请注意感叹号。这指定了强制打印,它指示模板引擎逐字嵌入变量的内容。

来自Google's documentation

  

如果您的脚本允许不受信任的用户输入,则上下文转义非常重要。相比之下,如果您的scriptlet输出有意包含要完全按照指定插入的HTML或脚本,则需要强制打印。