Google apps script 在谷歌应用程序脚本Web应用程序中创建相对链接的最佳方法

Google apps script 在谷歌应用程序脚本Web应用程序中创建相对链接的最佳方法,google-apps-script,web-applications,Google Apps Script,Web Applications,我不是开发人员,所以请善待我。我使用谷歌应用程序脚本为我工作的慈善机构创建了一个网络应用程序 在页面顶部,有一组菜单选项 我创建了一个Header.html文件,然后在每个页面上使用include()函数来包含页眉,而不是手动将它们添加到每个页面 function include(filename) { return HtmlService.createHtmlOutputFromFile(filename) .getContent(); } 这很好,只是Header.html

我不是开发人员,所以请善待我。我使用谷歌应用程序脚本为我工作的慈善机构创建了一个网络应用程序

在页面顶部,有一组菜单选项

我创建了一个Header.html文件,然后在每个页面上使用
include()
函数来包含页眉,而不是手动将它们添加到每个页面

function include(filename)
{
  return HtmlService.createHtmlOutputFromFile(filename)
      .getContent();
}
这很好,只是Header.html中的链接都是相对链接,用于使用doGet()函数加载web应用程序中的其他html页面,以提供新的html页面,例如

因此,每次部署应用程序时,我都必须手动更新Header.html文件中的链接并重新部署

我尝试使用
ScriptApp.getService().getUrl()
,但是通过
include()
函数无法实现,因为它只是作为文本插入的

有一个在每个页面上提供相同链接集的标题的最佳方式是什么,但链接是通过编程生成的,以便在URL中具有当前部署ID

编辑:由@Carlos M请求的代码

代码G.gs:

function doGet(e){
var cache = CacheService.getUserCache()
 .
 .
 .
//============================
//           LOGOUT
//============================
if(e.parameter.logout)
{
  cache.removeAll(["email", "name", "code", "loggedIn", "month"])
}
.
.
.
}

function include(filename)
{
  return HtmlService.createHtmlOutputFromFile(filename)
      .getContent();
}

function getUrl()
{
  var url = ScriptApp.getService().getUrl();
  return url;
}
Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <?!= include('Stylesheet'); ?>
  </head>
  <body>
    <?var url = getUrl() ?>
    <?!= include('Header'); ?>
    <div>
      <h1>Membership Duty Booking</h1>
      <span id="message"><?=message ?></span>
      <p class="bold">Select a Month</p>
.
.
.
</body>
</html>

会员税预订

选择一个月

. . .
Header.html

<div>
  [MULTIPLE SIMILAR ENTRIES FOR "MENU" OPTIONS]
  <span class="uHeader">
    <a href="https://script.google.com/macros/s/{Deployment ID}/exec?logout=1">Logout </a>
  </span>
</div>

[用于“菜单”选项的多个类似条目]

我需要更新的是Header.html文件中的{Deployment ID}。正如您所看到的,我已经在使用下面@MetaMan建议的方法,但是它对于使用
include()
函数添加的HTML文件不起作用。它在其他地方起作用,但不适用于这种情况。这就是我试图解决的问题:)

请发布您的代码,这需要是一个。请尝试使用
ScriptApp.getService().getUrl()@MetaMan我已经试过了。它在原始帖子中,但我忘了将其标记为代码。在这种情况下,它不起作用。这是我在过去使用过的:看看这个,它使用一个div,实际上它是一个边栏,但是你可以按照自己的意愿构建它。它向您展示了如何加载页面和所有内容。这是一个简单的4页网站。