Javascript 运行Google脚本web应用程序后关闭窗口?

Javascript 运行Google脚本web应用程序后关闭窗口?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我制作了一个小的web应用程序,当用户单击电子表格中的链接时打开。该链接将把他们带到web应用程序,该应用程序将对电子表格进行更改。 我希望浏览器窗口在代码运行完成后自动关闭 function doGet(e){ // code make changes to spreadsheet // here I want browser window to close return HtmlService.createHtmlOutput(uniqueid + " is marked co

我制作了一个小的web应用程序,当用户单击电子表格中的链接时打开。该链接将把他们带到web应用程序,该应用程序将对电子表格进行更改。 我希望浏览器窗口在代码运行完成后自动关闭

function doGet(e){
  // code make changes to spreadsheet

 // here I want browser window to close

  return HtmlService.createHtmlOutput(uniqueid + " is marked complete");
}; 

感谢您的帮助

需要区分浏览器选项卡中的Web应用程序和Google文档(工作表、表单、文档)中的侧栏或对话框

问题是关于浏览器选项卡中的Web应用程序。如果要关闭边栏或对话框,只需使用:

google.script.host.close()
但这个问题是针对一个Web应用程序的。您可以尝试在HTML中添加一个脚本标记,其中包含打开窗口时自动运行的代码

<script>
  window.top.close();
</script>

如果您不在乎用户是否看到任何东西,您可以运行应用程序脚本内容服务。

在您提出问题很久之后,我就遇到了您的问题,但如果您或其他人正在寻找答案,请尝试以下方法:

要关闭浏览器窗口,请创建一个简单的HTML文件,该文件指示自己按照如下指令关闭
window.top.close()

关闭Window.html

<!DOCTYPE html>
<html>
    <script>
        window.top.close();
    </script>
</html>
运行Web应用程序的HTML电子邮件

<!DOCTYPE html>
<html>
  <form action=[Your current Web App URL in quotes]>
  Send text to spreadsheet: <input type="text" name="change"><br>
  <input type="submit" value="Submit">
  </form>
</html>

将文本发送到电子表格:

显然,还有一些问题没有得到回答——比如为什么要求自动关闭一个窗口,而您的Web应用程序似乎只打开一个为用户传递消息的窗口——但我相信您的用例比这更复杂,您和其他人可以智能地利用本例中的主体为您提供优势。

在HTML文件的脚本部分末尾使用以下命令关闭Google Sheets中当前打开的HTML窗口:

google.script.host.close();

而不是在doGet(e)函数的返回语句中使用两个用coma分隔的HtmlServices(这对我来说不起作用-我只得到一个返回值)

您可以将window.top.close()放在;在提交按钮的onClick事件中,如下所示:

替换:

<input type="submit" value="Submit">

与:


并在html中添加以下内容:

<script>
   function closeWindow() { window.top.close(); }
</script> 

函数closeWindow(){window.top.close();}
我希望有一天,这会对某个地方的某个人有所帮助:)
干杯:)

你可能永远不会看到这条评论,但如果你看到了,我真的非常感谢你!你帮我省了很多工作。这很可能是在整个网络上解决这个问题的唯一真正有效的方法。我在这里完成了每一个问答!!!!链接获取更多信息:该评论应该是综合答案的一部分,尤其是当您提交一个旧问题的答案时。你还应该确保你的答案与原来的问题相关。在这个问题中,要关闭的HTML页面不在Google Apps产品中。
google.script.host.close();
<input type="submit" value="Submit">
<input type="submit" 
        onclick="this.value='Magic ...'; 
        google.script.run.withSuccessHandler(closeWindow); ">
<script>
   function closeWindow() { window.top.close(); }
</script>