Google Apps Script如何实现数秒自动消失的非弹窗通知
实现方案
除了alert模态对话框之外,你可以直接用Google Apps Script内置的toast()方法实现自动消失的提示效果,体验和系统自带的"脚本运行中"通知完全一致。
方法特性
- 通知从表格右下角滑出,不需要用户点击确认,到达设定时长后自动消失
- 非阻塞设计,通知弹出后脚本会继续执行,不会卡住流程
- 支持自定义通知标题、正文、显示时长
调用方式
toast()是Spreadsheet实例的方法,基础调用语法如下:
SpreadsheetApp.getActiveSpreadsheet().toast(通知正文, 通知标题, 显示秒数)
其中后两个参数是可选的:如果不传标题就只显示正文,不传显示秒数的话默认停留10秒左右自动消失。
常用示例
// 最简调用:只传正文,默认停留10秒 SpreadsheetApp.getActiveSpreadsheet().toast('操作已完成'); // 自定义标题和3秒停留时长 SpreadsheetApp.getActiveSpreadsheet().toast('时间记录已覆盖保存', '操作提示', 3);
适配你现有代码的写法
你原来的确认逻辑可以把提示部分替换成toast,不需要用户手动点掉提示框:
var userChoice = ui.alert('确定要覆盖时间记录吗?', ui.ButtonSet.OK_CANCEL); if (userChoice == ui.Button.OK) { SpreadsheetApp.getActiveSpreadsheet().toast('操作已确认执行', '提示', 2); } else { SpreadsheetApp.getActiveSpreadsheet().toast('操作已中止', '提示', 2); return; }
注意:不要直接通过
ui对象调用toast(),必须先通过SpreadsheetApp.getActiveSpreadsheet()获取当前活动表格实例再调用,否则会报错。
内容的提问来源于stack exchange,提问作者Merlin Blatterer
相关产品推荐
相关产品推荐

