2024.7.26后GAS中showModalDialog失效,求解决方案及变更性质确认
Google Sheets GAS模态对话框失效问题及修复需求
问题背景
此前长期在Google Sheets中使用以下GAS代码,可正常依次显示两个模态对话框:
function demo() { SpreadsheetApp.getUi().showModalDialog(HtmlService.createHtmlOutput('<b>Patience!</b>'), 'Processing! Please wait'); // 执行核心业务逻辑 SpreadsheetApp.getUi().showModalDialog(HtmlService.createHtmlOutput('<script>google.script.host.close();</script>'), 'Ready. Please continue'); }
自2024年7月26日起,该代码失效——第一个对话框无法自动关闭,此问题已有相关技术讨论。
核心疑问
- 此行为是Google的永久功能变更,还是临时故障?
- 是否有官方文档明确说明这一新行为?
当前困境
本人GAS基础薄弱,无法将现有解决方案适配到自身的Google Sheets场景中。曾尝试用以下代码替代,但用户体验极差:
SpreadsheetApp.getActive().toast("Processing...", "Please WAIT!", 60);
补充说明(2024年7月30日)
脚本通过onEdit触发器触发,终端用户使用条码扫描器(作为HID设备)编辑工作表时启动脚本。此前模态对话框的关键作用是:打开时工作表变灰锁定,禁止用户编辑,确保脚本执行期间数据不被篡改;脚本执行完毕后关闭对话框,恢复编辑权限。目前已向Google提交Bug反馈。
需求
急需可快速落地的修复方案,解决生产应用无法正常运行的问题(终端用户因对话框无法关闭,无法继续操作)。
内容的提问来源于stack exchange,提问作者mortpiedra
相关产品推荐
相关产品推荐

