一段时间以来,我认为自iOS 12.4以来,iPhone上的浏览器不再能够从iframe重定向顶部框架。 你知道有什么改变吗?
顶部框架(域1)index.htm中的代码
<iframe src='https://www.domain2.com/test.htm' id='blubb' ></iframe>
iframe(域2)test.htm中的代码
<script> top.location.href="https://www.domain1.com/somefile.htm";</script>
不幸的是,我没有Mac,因此看不到控制台/错误消息。但是重定向没有完成。在其他浏览器/操作系统上,它可以正常工作。 有想法吗?
答案 0 :(得分:1)
呃,请原谅我将其发布为答案-我宁愿将其添加为评论,但我没有评论所需的50业力。
我在iOS 12.4上也遇到了同样的问题,我认为它与WebKit中的某些安全性更改有关。
我一直收到以下错误:“试图浏览顶层窗口的框架是跨源的,用户从未与框架进行交互。” 我认为它源自WebKit,如此处所示:https://github.com/WebKit/webkit/blob/master/Source/WebCore/dom/Document.cpp
所以我在想一种可能的解决方案是让用户在iframe中单击按钮以进行导航。
您还提到过,您是在装有iOS 12.4的手机上的其他浏览器上尝试过此操作的,因此它可以在Chrome中使用吗?
答案 1 :(得分:1)
谢谢。同时,我发现我的Colleauge Mac也存在相同问题,我们通过要求用户单击按钮来“解决”。不好,但唯一的解决方案。我想知道找不到有关此更改的任何信息/更改日志。但是很好不要一个人呆着:-) 是的,它也发生在Chrome(iOS应用)中,但我同时也了解到iOS浏览器与Apple渲染引擎共享/入狱。