运行Google Script网络应用后关闭窗口?

San*_*ngh 5 javascript google-sheets google-apps-script

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

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

 // here I want browser window to close

  return HtmlService.createHtmlOutput(uniqueid + " is marked complete");
}; 
Run Code Online (Sandbox Code Playgroud)

感谢帮助

Ala*_*lls 6

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

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

google.script.host.close()
Run Code Online (Sandbox Code Playgroud)

但这个问题是针对 Web 应用程序的。您可以尝试在 HTML 中放置一个脚本标记,并使用在窗口打开时自动运行的代码。

<script>
  window.top.close();
</script>
Run Code Online (Sandbox Code Playgroud)

如果你想延迟:

<script>
  setTimeout(function(){ window.top.close(); }, 3000);
</script>
Run Code Online (Sandbox Code Playgroud)

您可以尝试使用window.onload.

<script>
  window.onload=function(){
    console.log("This onload did run");
    setTimeout(function(){ window.top.close(); }, 3000);
  };
</script>
Run Code Online (Sandbox Code Playgroud)

如果您不在乎用户是否看到任何内容,则可以运行 Apps Script Content Service。