Javascript 由于iOS 12.4 iframe可以';不要更改顶部url

Javascript 由于iOS 12.4 iframe可以';不要更改顶部url,javascript,ios,iphone,redirect,iframe,Javascript,Ios,Iphone,Redirect,Iframe,因为有些日子,我认为自从iOS 12.4以来,iPhone上的浏览器不再能够从iframe重定向顶部框架。 你知道有什么东西被改变了吗 顶部框架代码(域1)index.htm 来自iframe(域2)test.htm的代码 top.location.href=”https://www.domain1.com/somefile.htm"; 不幸的是,我看不到控制台/错误消息,因为我没有Mac。但是重定向没有完成。在其他浏览器/操作系统上,它工作正常。 有什么想法吗?呃,请原谅我把这篇文章作为

因为有些日子,我认为自从iOS 12.4以来,iPhone上的浏览器不再能够从iframe重定向顶部框架。 你知道有什么东西被改变了吗

顶部框架代码(域1)index.htm


来自iframe(域2)test.htm的代码

top.location.href=”https://www.domain1.com/somefile.htm";
不幸的是,我看不到控制台/错误消息,因为我没有Mac。但是重定向没有完成。在其他浏览器/操作系统上,它工作正常。
有什么想法吗?

呃,请原谅我把这篇文章作为一个答案发布——我更愿意把它作为一个评论,但我没有必要的50业力来评论

我在iOS 12.4上也遇到过同样的问题,我相信这与WebKit中的一些安全更改有关

我一直收到以下错误:“试图导航顶层窗口的框架是跨原点的,用户从未与框架进行过交互。” 我相信这是源于WebKit的,如图所示:

因此,我认为一个可能的解决方案是在iframe中有一个用户点击的按钮,以允许导航


此外,您还提到,您曾在iOS 12.4手机上的其他浏览器上尝试过此功能,因此它在Chrome中对您有效?

谢谢。与此同时,我在同事的Mac电脑上也发现了同样的问题,我们通过让用户点击一个按钮“解决”了。这不是一个好办法,但却是唯一的解决办法。我想知道没有找到任何关于这一变化的信息/变化日志。但不完全孤独也很好:-)
是的,它也出现在Chrome(iOS应用程序)中,但同时我也了解到iOS浏览器共享/被囚禁在Apple渲染引擎中。

将sandbox='allow-top-navigation-allow scripts'添加到iframe解决了问题,但这对我没有帮助,因为我无法在所有位置更改顶部框架源代码
<iframe src='https://www.domain2.com/test.htm' id='blubb' ></iframe>
<script> top.location.href="https://www.domain1.com/somefile.htm";</script>