3

我正在使用 Google Apps Script Html Service 来呈现 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 是已从缓存中提取的对象的成员变量。该对象是从谷歌电子表格中填充的,并且在放入和获取缓存时使用了 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&amp;#39;s implies that double encoding is taking place.

任何关于如何解决上述问题的想法将不胜感激。

谢谢!

4

1 回答 1

6

如果您不想转义,请使用<?!=而不是。<?=

于 2012-11-04T16:09:07.643 回答