8

在使用 GAS HtmlService 的网络应用程序上,我需要获取当前页面的 url 以在模板中构建新链接。

该网络应用程序将在 Google 网站页面(GAS 作为小工具)中运行,但也可以独立运行

我正在尝试“var pageUrl = document.location.href”,然后在 Html 模板中使用 pageUrl,如下所示。我知道这是错的,但我迷路了,对不起。

<a href="<?= pageUrl + "?item=xyz" ?>" >Item xyz link</a>

谢谢,福斯托

4

4 回答 4

13

您可以通过 ScriptApp 获取 webapp 的 url:

<a href="<?= ScriptApp.getService().getUrl() + "?item=xyz" ?>" >Item xyz link</a>

您可以通过 SitesApp 获取站点中的 url:

SitesApp.getActivePage().getUrl()

尽管我认为这对于您所描述的内容实际上并没有用,因为您无法向其中添加有用的查询参数。脚本在 iframe 中运行,因此尽管您可以在客户端上使用 document.location,但无论如何它对您没有帮助。URL 被清理,服务 ID 被删除。

于 2013-01-03T04:15:18.400 回答
0

你能负担得起 jQuery 路线吗?

$(document).ready( function() {

var currentURL = window.location;

$('#myLink').prop('href', currentURL);


});

然后...

<a id="myLink" href="">Link to somewhere</a>
于 2013-01-03T04:16:33.820 回答
0

如今(自 2016 年站点发生变化以来)答案有点简单:

var current_url = DocumentApp.getActiveDocument().getUrl();
于 2018-08-28T07:50:16.083 回答
0

这个对我有用:

function doGet(e){
  Logger.log(ScriptApp.getService().getUrl());
}

然后加载您的网页应用程序页面,然后检查您的 appscript 中的日志!

于 2019-09-07T06:29:41.950 回答