google-chrome - 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 浏览器在几个人身上测试过——结果相同。
解决方案
我一直有同样的问题......几周前注意到它,只是做了一个搜索并在 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 页左右的应用程序,它出现在某些页面上仍然有效。虽然一直没能找到原因。
推荐阅读
- path - 如何使用伪代码描述 2 个节点之间的可能路由
- c++ - 如何获取支持枚举的类型
- php - 如何为每个 php 线程获取唯一的 php-extension 实例?
- javascript - 如何在 apache cordova 中使用 sweetalert?
- python - 如何自动让 API 密钥过期?
- sql-server - text、ntext 和 image 数据类型对局部变量无效。铸造后
- node.js - 猫鼬查询带有特殊字符的正则表达式
- css - 我的 Wordpress CSS 版本缓存更新问题
- django - 创建一个接受变量的自定义导入语句,用于导入 django 模型
- python - Split() 未按预期工作 #SettingWithCopyWarning ,无法理解错误