首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何调整无法控制的跨域iFrame的大小?

如何调整无法控制的跨域iFrame的大小?
EN

Stack Overflow用户
提问于 2015-06-15 23:50:03
回答 1查看 664关注 0票数 1

关于如何调整iFrames的大小以适应非跨域或跨域但在开发人员控制下的URL的内部内容,有大量的文章和问题。

但是,我找不到如何调整一个iFrame的大小,而我对它的控制是零的,因此不能将postMessage返回到父级。

这个是可能的吗?

例如,想象一下我的站点mysite.com正在尝试iFrame CNN.com。如何调整CNN iFrame的大小,使iFrame的全部内容显示,而不需要滚动CNN iFrame。

编辑

由于iFrame是跨域的,由于安全性限制,读取iFrame内容并根据内容高度调整其大小的简单解决方案无法工作。例如,当试图在另一个域上读取iFrame的内容时,Chrome给了我这个异常:

Uncaught :未能从>‘HTMLIFrameElement’中读取'contentDocument‘属性:阻止具有原始"http://dev“的帧访问具有原点"http://cnn.com”的帧。协议、域和端口必须匹配。

因此,一个常见的解决方案是让iFramed内容与宿主页面进行通信,如这里所见。然而,由于在我的例子中的网址,CNN.com,完全是第三方,我无法控制,我不能遵循跨域的解决办法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-03 03:58:02

根据我收到的评论,可以肯定地说,不可能从客户机/浏览器端重新调整跨域iFrame的大小。

也许一些复杂的服务器端算法可以请求页面并试图提供有关大小的提示,但在客户端却什么也做不了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30856767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档