javascript - 如何使 Chrome 92 从不同子域上打开的 iframe 显示 alert()、prompt() 和 confirm()
问题描述
我有这种情况:
来自http://desktop.ourdomain.local的页面包含一个 src="http://legacy-application.ourdomain.local" 的 iframe
http://legacy-application.ourdomain.local,广泛使用警报和提示,在谷歌发布 chrome 92 之前效果很好,这表明这不再是一种选择(参见https://www.chromestatus.com/功能/5148698084376576)
在这里解释的那些中尝试了很多东西
还有许多关于 CORS 的试验,以及 iframe 沙盒的许多组合(allow-same-origin allow-scripts allow-modal ...)
有没有人遇到同样的问题并解决了?
解决方案
正如@Bravo 所指出的,谷歌提供了一种“禁用”限制的方法,至少在他们决定保留或删除之前,这将在 12 月 15 日发布 chrome 96 时发生。在这里我能够获得一个令牌可以作为“Origin-Trial”标题的值添加到需要禁用该功能的页面上。仅当站点以 https 提供时,令牌才起作用,但这应该比使用警报和确认重写所有表单更容易解决!与此同时,我有时间找到一个明确的解决方案。
推荐阅读
- javascript - 我是否以错误的方式使用 reduce 方法?
- java - 在添加之前检查 URL 是否存在于 Firebase 数据库中
- javascript - 如何使用正则表达式获取字符串的特定部分并将其放入平面列表(react-native)
- r - 如何让 R 巧妙地用逗号分隔数千?
- sql - TSQL:在字符串中查找具有不同字符的日期
- java - 需要帮助发布两次唯一字段并期待错误
- html - 在没有 jquery 的情况下在滚动时切换标题内容
- c# - Unity3D gives Script error: OnTriggerEnter when compiling
- powerbi-desktop - PowerBI:根据表中的值更改显示单位
- spring-boot - 在 Docker 中将 Spring-cloud-config 服务器托管为微服务