【问题标题】:Passing variable to HTML output and then into a scriptlet将变量传递给 HTML 输出,然后传递给 scriptlet
【发布时间】:2015-04-12 03:32:16
【问题描述】:

代码.gs

function doPost(e) {
    ...
    template.data += getCustomerData + "<br>";
}
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);

index.html

...
<?= data ?>

显示的代码确实显示了正确的值。但是,它不会将 &lt;br&gt; 翻译成 HTML。我不确定为什么它不起作用,因为 template.evaluate() 应该返回一个 HtmlOutput 对象。

【问题讨论】:

    标签: html google-apps-script web-applications


    【解决方案1】:

    默认情况下,字符串会被清理,将特殊字符转换为它们的 HTML 编码等效字符(例如

    在输出 HTML 时,您必须使用 != 以避免清理数据。

    &lt;?!= data ?&gt;

    在此处查看有关标准和强制打印脚本的详细信息: https://developers.google.com/apps-script/guides/html/templates#standard_scriptlets

    【讨论】:

    • 这确实设置了数据,但是,它的局限性在于数据需要预先格式化(除非它像字符串或数字这样简单)。有关将服务器变量传递给客户端 html 的更全面的方法,请参阅此答案:我在此处对此进行了回答:stackoverflow.com/a/38314034/2213940
    猜你喜欢
    • 1970-01-01
    • 2011-12-10
    • 2019-01-12
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多