Google Apps Script重定向失效报沙箱错误 近期库变动原因咨询
重定向失效原因及GAS调整说明
故障根因
- 2024年9月Google Apps Script(GAS)对Web App的iframe沙箱权限做了强制收紧,默认将原沙箱配置中的
allow-top-navigation权限替换为allow-top-navigation-by-user-activation - 该权限规则要求:只有用户主动交互(点击、键盘输入、触屏操作等)触发的代码上下文,才允许操作顶层页面导航,页面初始化、异步接口回调、定时器等非用户触发的上下文调用
top.location.href赋值、window.open("url", "_top")都会被浏览器拦截,触发你遇到的报错 - 该调整是GAS服务端的默认配置修改,和你的前端代码无关,所以代码无改动也会突然失效。
GAS本次调整的背景
本次调整是Google对齐现代浏览器安全规范的统一安全迭代,核心目的是拦截恶意脚本无感知强制跳转顶层页面的风险,避免钓鱼、流量劫持等安全问题,属于常规的安全策略升级,目前没有提供自定义沙箱权限回退到旧规则的通道。
可行修复方案
- 将所有触发顶层跳转/
_top开窗的逻辑,迁移到用户主动交互的事件回调(比如按钮点击事件)中执行,即可符合权限要求 - 如果必须在异步逻辑(比如接口请求返回)完成后跳转,可先弹出带确认按钮的提示框,用户点击确认按钮时再执行跳转代码,即可满足用户激活的校验要求
内容的提问来源于stack exchange,提问作者Jazzy Yang
相关产品推荐
相关产品推荐

