google-apps-script - Appscript Webapp 超链接不起作用 - 尝试导航顶级窗口的框架已被沙盒化
问题描述
我创建了一个具有不同页面的 Web 应用程序:登录、仪表板、订单。我检查用户是否已登录,如果已登录,将重定向到仪表板。仪表板将具有下订单的链接 - 进入订单页面,一旦成功下订单,它将重定向到仪表板。
当应用程序独立使用时一切正常,但在我嵌入谷歌网站后,放置在仪表板页面(下订单)中的超链接无法处理错误消息
不安全的 JavaScript 尝试从 URL 为“https://n-n3gcqx22xvz3sn77god6de7c5ipcta6xrsyulmi-0lu-script.googleusercontent.com/userCodeAppPanel”的框架中为来源为“https://app.neelithal.com”的框架启动导航。尝试导航顶级窗口的框架是沙盒的,但未设置“allow-top-navigation”或“allow-top-navigation-by-user-activation”标志。
我已尝试使用“允许顶部导航”或“允许顶部导航按用户激活”将 appscript 嵌入到新旧站点中 - 仍然无法正常工作。
所有页面都设置有基本目标 _top 自动重定向是通过window.self.location.href = redirectUrl;
- 注意 - 如果我使用window.top.location
嵌入式站点将无法工作 - 只有当我使用时才有效window.self.location.href
。
对于超链接,我使用以下代码
<a class="waves-effect" href="<?!= appUrl ?>?v=dashboard&token=<?!= token ?>">
-- 注意我已经尝试将超链接目标设置为 "_top" "_self" "framename" 没有任何效果 - 一个或另一个坏了。
XFrameoption 设置为 ALLOWALL
var tmp = HtmlService.createTemplateFromFile("glogin");
return tmp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
脚本以 ME 身份执行 - 访问所有人甚至 Ananymous - 使用 Google 登录进行身份验证。
Web 应用程序 URL - https://script.google.com/macros/s/AKfycbzyx5XDtVYPSN5wt_By55pZGpHMSgTnMN_wQd9uIYuG9N9mPME2/exec
Google 协作平台网址 - 带有自定义网址 - https://app.neelithal.com
解决方案
推荐阅读
- git - Azure DevOps git——“1 次延迟提交和 1 次提前提交”时缓解的最佳下一步行动
- python - 排除数据框中的异常
- google-sheets - Google表格:从包含一列数据的文本和数字的多个单元格中提取数字?
- javascript - 在javascript中交错多个数组
- next.js - 将 Okta 身份验证与 Next Auth 一起使用时出错
- ruby-on-rails - 使用 simpleform 在 f.select 中创建必需选项
- python - Tukey深度或多元修剪平均值的Python函数?
- c# - 发送 DM 的 LinqToTwitter 速率限制
- bash - 是否可以解析分支名称以创建可读的注释?
- sql - 是否可以使用 PostgreSQL 获取日期之间的时差并提供默认值?