这是一个创建于 637 天前的主题,其中的信息可能已经有所发展或是发生改变。
项目中需要用到 iframe 去加载内容的静态化网页,在设置高度时遇到了跨域的问题
控制台报错如下:
( DOMException: Blocked a frame with origin "http://localhost:8088" from accessing a cross-origin frame.)
百度后得到的结论是我在父页面与 iframe 有交互时如果不在同源下就会报这个错误,我的目的是要拿到 iframe 的高度,所以在父页面要通过 js 获取 iframe 对象,此时就报跨域了
之前的解决是通过自己的 nginx 代理就不会跨域,但是因为某种原因这个方案不能用了,所以要寻求新的解决方案
求各位大佬不吝赐教~
2 条回复 • 2022-06-30 13:34:12 +08:00
|
|
1
liushuigs 2022-06-30 13:31:09 +08:00
可以用 postMessage 将 iframe 的高度传给父窗口。这是个示例:https://runjs.qingting.work/#/projects/949aac975ff44134
|
|
|
2
mxT52CRuqR6o5 2022-06-30 13:34:12 +08:00 via Android
如果你能改 iframe 里的代码就能做到
|