Javascript 运行Google脚本web应用程序后关闭窗口?
我制作了一个小的web应用程序,当用户单击电子表格中的链接时打开。该链接将把他们带到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
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>