我在Safari上加载了iFrame时出现问题。
我有一个从behance.net加载资源的简单iFrame。 iframe在每个浏览器上运行正常,除了两者上的Safari:macOS和iOS。
奇怪的是,如果你尝试刷新几次,过了一段时间就开始工作了,它显示了iframe,但又一次,如果你继续点击刷新,它会再次停止。显然它在下载js文件时遇到问题。环顾四周,似乎可能存在只考虑Safari的缓存问题,但我并不完全确定。
这里有一个例子:https://codepen.io/rolfo85/pen/JJMvwo
<iframe src="https://www.behance.net/gallery/52836321/Wild-Thing-T-shirt-design?iframe=1" scrolling="yes" width="500" height="500"></iframe>
单击该链接,如果您看到iframe正常工作,请清除Safari缓存并再试一次。理论上,在刷新缓存后它应该停止工作。
你们有没有想过如何克服这个问题?
提前致谢。
答案 0 :(得分:0)
原因是因为默认情况下,Safari现在允许编写跨域Cookie,因此如果iFrame src页面需要某种会话或cookie来加载页面,则无法加载
所以有一种方法可以测试这是否也是你的问题。是复制iframe的url并在单独的选项卡中打开它,然后在上一个选项卡中重新加载代码笔,内容现在将按预期显示。
以下是safari论坛
上对此的一些讨论答案 1 :(得分:0)
在我的情况下,为框架来自的域添加Content-Security-Policy(使用frame-src)允许框架加载:
<meta http-equiv="Content-Security-Policy"
content="frame-src https://docs.google.com;">