Google 应用程序脚本:在 html 列表中包含脚本标签

Google apps script: include script tag within html list

我有一个 Google Sheet 和一个绑定脚本,可以根据电子表格中的数据自动发送带有仪表板的每日电子邮件。此仪表板的一部分是我的 html 中的要点列表 ul li。现在,这个要点 li 中的一个是可选的,有时我有东西要写在这个要点上,有时没有。我正在尝试在我的 html 文件中插入一个 script 标签,这样,每当这个 li 在我的电子表格中为空时, html 文件不包含它并切换到下一个(因为现在,当这个项目符号点为空时,我仍然可以在我的仪表板电子邮件中看到带有空项目符号点的换行符,看起来不太好).

我尝试了很多不同的方法来在标签中包含一个“if”子句,但到目前为止我都没有成功。

这是我的 html:

      <ul>
      <li><?= sub11 ?></li>
      <li><?= sub12 ?></li>
      <script>
        if (sub14 !='') {
          <li><?= sub14 ?></li>
        } 
      </script>
      <li><?= sub13 ?></li>
      </ul>

    <br>

sub11、sub12、sub13、sub14 都是要点,即链接到电子表格特定单元格的变量,其中我有该特定要点的动态文本。 sub14 是可选的,我正在尝试编写如下代码:如果 sub14 为空,则切换到 sub13 并且不包含 sub14 的特定项目符号点。

如有任何帮助,我们将不胜感激。这对我的仪表板绝对不是至关重要的,但我正在努力提高我的低编码技能,所以很想了解它。

谢谢!

如果您创建 2 个 HTML 模板,一个没有 li 部分,一个有它。

在 Apps 脚本中,添加一个 "IF" 单元格为空 -> 发送没有 li 部分的 HTML 模板,或者发送那个。

小脚本

html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
     <ul id ="list">
      <li><?= sub11 ?></li>
      <li><?= sub12 ?></li>
      <? let n = sub14  ?>
      <? if ( n ) { ?>
         <li><?= sub14 ?></li>
      <? } ?>
      <li><?= sub13 ?></li>
    </ul>
  </body>
</html>

GS:

function  lfunko() {
  let t = HtmlService.createTemplateFromFile("ah2");
  t.sub11 = "Line 11";
  t.sub12 = "Line 12";
  t.sub13 = "Line 13";
  t.sub14 = "Line 14";
  SpreadsheetApp.getUi().showModelessDialog(t.evaluate(),"Dialog Test");
}

Templated HTML