我正在使用Google Apps脚本Html服务来呈现HTML页面。
问题是HTML实体会显示而不是预期的特殊字符。例如:
Miss McCleod's renders to Miss McCleod's
view source is: "text-align: center\"> Miss McCleod's
渲染与
一起正常工作<code> <?=tune.tuneName?> </code>
但不是:
<h1 style="text-align:center;"><?=tune.tuneName?> </h1>
其中tune.tuneName是从Cache中提取的对象的成员变量。该对象是从谷歌电子表格中填充的,并且在放入和/或从缓存中使用时,使用了Utilities.jsonStringify()和Utilities.jsonParse()。
HTML模板脚本如下所示。
<h1 style="text-align:center;"><?=tune.tuneName?> </h1>
<code> <?=tune.tuneName?> </code>
<div style="text-align:center;">
<? var imageUrl = getUrlForAttachmentFileName(tune.musicNotesImageFileName) ?>
<img src="<?=imageUrl?>" alt="<?=tune.tuneName?>" align="center">
</div>
以下代码用于实例化页面。
tuneRec = findTuneById(tuneId);
var printHtmlTemplate = HtmlService.createTemplateFromFile('PrintPage');
printHtmlTemplate.tune = tuneRec;
return printHtmlTemplate.evaluate();
Miss McCleod&#39;s implies that double encoding is taking place.
非常感谢任何关于如何解决上述问题的想法。
谢谢!
答案 0 :(得分:6)
如果您不想转义,请使用<?!=
代替<?=
。