【发布时间】:2019-11-03 05:58:48
【问题描述】:
我的谷歌应用程序脚本(附加到谷歌文档)中有一个doGet 函数,它作为网络应用程序发布,我希望将用户重定向到另一个网页。重要的是,我希望将它们重定向的页面的 URL 显示在地址栏中,并将它们重定向的页面的标题作为选项卡的标题(在 Chrome 中)。
我尝试使用元刷新标签,并设置window.location.href。这两个都正确重定向,但它们在地址栏中显示地址应用程序的 URL,而不是用户被重定向到的页面的 URL。
以下附在 Google 文档中的脚本说明了问题。
function doGet(request) {
var drive = DriveApp;
var docs = DocumentApp;
var Id = docs.getActiveDocument().getId();
var document = docs.openById(drive.getFileById(Id).makeCopy().getId());
document.setName("Test doc 2");
var URL = document.getUrl();
return HtmlService.createHtmlOutput('<meta http-equiv="refresh" content="0; url=' + URL + '" />')
}
将脚本发布为 Web 应用程序,然后访问 URL 会将您重定向到新创建的文档,但地址栏中显示的是脚本的 URL。
有关示例,请参阅此 Google 文档:https://docs.google.com/document/d/1HpBkNGGGjKj3W6QXThtGdniSO_UTANo8LcqmgZowdTQ/edit
【问题讨论】:
-
您的意思是希望 WebApp 重定向到不在 WebApp 内或不在 WebApp 内的页面?也许您可以提供更多代码,以便我们自己确认行为,即minimal reproducible example。
-
@Cooper 感谢您的回复。我想重定向到由脚本创建的新文档。我已经扩充了代码示例来说明这一点。
标签: redirect google-apps-script web-applications google-docs