How to automatically close window created by Google Script Content Service/HTML Service?(如何自动关闭Google脚本内容服务/HTML服务创建的窗口?)
问题描述
我在Google脚本中有一个doGet(E)函数,它写入电子表格,然后返回一条用Content Service创建的简单的"Success"消息。我的问题是,有没有办法自动关闭此消息创建的选项卡/窗口?用户在写入电子表格时将"批准"不同的项目,如果使用此函数连续批准多个项目,然后必须关闭该函数创建的每个后续选项卡,则可能会很烦人。
以下是GS:
function doGet(e) {
var id = e.parameter.id;
var fundnumber = e.parameter.fundnumber;
var date = Utilities.formatDate(new Date(), "America/New_York", "MM/dd/yyyy");
var sh = SpreadsheetApp.openById("12jWGJWHCLoiLVoA0TlBQ0QgOMxBU9gVj9HQQveiNg0w").getSheetByName("Purchase Order Meta");
var data = sh.getDataRange().getValues();
for(n=0;n<data.length;++n){
if( data[n][1].toString().match(id)==id ){
data[n][8] = 'Approved by Linda on ' + date;
data[n][16] = 'Approved by Linda on ' + date + '. Awaiting order from Trish.';
data[n][13] = fundnumber
};
sh.getRange(1,1,data.length,data[0].length).setValues(data); // write back to the sheet
}
return ContentService.createTextOutput("success");
}
我的理解是,为了编写doGet,我必须使用Content Service或HTML Service返回一些内容。我尝试过使用HTMLService并将JS添加到页面以关闭窗口,但似乎不起作用。:
推荐答案
使用HTMLService
输出,您可以通过将google.script.host.close()
包装在超时函数中来关闭弹出窗口或Html页面,如下所示:
setTimeout( function() { google.script.host.close(); }, 3000);
将您的退货更改为:
var output = "<body><p>Success!</p><script>setTimeout( function() { google.script.host.close(); }, 3000);</script></body>"
return HtmlService.createHtmlOutput(output);
这篇关于如何自动关闭Google脚本内容服务/HTML服务创建的窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何自动关闭Google脚本内容服务/HTML服务创建的窗口?
基础教程推荐
- 动态更新多个选择框 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01