由于iOS 12.4 iframe无法更改顶部网址

时间:2019-08-22 06:28:43

标签: javascript ios iphone redirect iframe

一段时间以来,我认为自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,因此看不到控制台/错误消息。但是重定向没有完成。在其他浏览器/操作系统上,它可以正常工作。 有想法吗?

2 个答案:

答案 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渲染引擎共享/入狱。