首页 > 解决方案 > Google Apps 脚本 - «window.top.location.href» 重定向停止工作

问题描述

这种结构在我的 GAS 项目中不再适用于重定向浏览器:

return HtmlService.createHtmlOutput(`<script>window.top.location.href='${url}';</script>`);

该建筑工程:

return HtmlService.createHtmlOutput(`<script>window.location.href='${url}'</script>`);

但它在脚本 URL 后面隐藏了真正的重定向页面 URL,因为我们更改的不是“.top”窗口 href。

有没有人也遇到过这个问题?

PS:我用 Chrome 浏览器在几个人身上测试过——结果相同。

标签: google-chromegoogle-apps-script

解决方案


我一直有同样的问题......几周前注意到它,只是做了一个搜索并在 Stack Overflow 上找到了这个问题。但是,在进一步搜索后,谷歌似乎已根据 9 月的更新禁用了执行此操作的功能:

https://developers.google.com/apps-script/releases

2021 年 9 月 2021 年 9 月 1 日 在 HTML 服务 iframe 沙箱中,允许内容 > 导航其顶级浏览上下文的 allow-top-navigation 受到限制,并且未设置为沙箱中的 > 属性。而是将 allow-top-navigation-by-user-activation > 属性添加到沙箱中。

如果您需要重定向您的脚本,请添加一个链接或一个按钮以供用户执行 > 操作。

了解有关 HMTL 服务限制的更多信息。

但是,在我看来,它在某些情况下仍然有效。我有一个大约 30 页左右的应用程序,它出现在某些页面上仍然有效。虽然一直没能找到原因。


推荐阅读