【问题标题】:href in HtmlServiceHtmlService 中的href
【发布时间】:2012-07-01 09:41:21
【问题描述】:

我的谷歌应用脚​​本项目(showHtml1、showHtml2)中有 2 个 html 文档。 我为第一个提供服务

function doGet() {
    return HtmlService.createTemplateFromFile('showHtml1').evaluate();
}

在第一个 html 中,我想在第二个 html (showHtml2) 中包含 href。 这可能吗?

【问题讨论】:

    标签: html google-apps-script


    【解决方案1】:

    此示例应向您展示模式。您可以在我使用 HtmlOuput 对象的任何地方使用 Html 文件。我只是想保持简单。

    function doGet(requestInfo) {
      var url = ScriptApp.getService().getUrl();
      if (requestInfo.parameter && requestInfo.parameter['page'] == '2') {
        return HtmlService.createHtmlOutput(
          "This is Page 2. <a href='" + url + "?page=1'>Page 1</a>");
      }
      return HtmlService.createHtmlOutput(
          "This is Page 1. <a href='" + url + "?page=2'>Page 2</a>");
    }
    

    在处理这个问题时请记住,来自 ScriptApp 的 URL 将是已部署的 url,而不是开发模式的 url,因此如果您正在试验,您可能希望将末尾的“/exec”替换为“/dev” .

    【讨论】:

    • 你是谷歌应用脚​​本神!除了笑话,我想知道您是否仅从提供的文档中发现了这一点。
    • 我是编写大部分内容的工程师,所以很遗憾我不能声称这是来自文档。但我希望你们喜欢我出色的队友们提供的新文档 - 我确实认为这是可能有人从文档中找出来的,尽管不像我那样容易。跨度>
    • 感谢您出色的队友提供的所有这些新功能。
    • @CoreyG 只是想确认一下:用“/dev”替换“/exec”是否会从已部署版本切换到开发版本?我正在尝试,但它仍然向我显示已部署的版本。此外,当我在 Dev URL 中将“/dev”替换为“/exec”时,它仍然显示开发者版本
    • 是的,这不起作用...您需要更改完整的 URL :)
    【解决方案2】:

    是的,您可以按照上述提示进行操作,但可以从您的 html 文件构建模板,如下所示:

    function doGet() {
      var template;
      if(parameter.page='html01') {
        template= HtmlService.createTemplateFromFile('fileHtml01');
         template.page='html01';
      } else {
         template= HtmlService.createTemplateFromFile('fileHtml02');
         template.page='html02';
      }
      return template.evaluate();
    }
    

    并根据参数显示一个或另一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-19
      • 2013-05-24
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多