Javascript 如何调整我无法控制的跨域iFrame的大小

Javascript 如何调整我无法控制的跨域iFrame的大小,javascript,html,iframe,Javascript,Html,Iframe,关于如何调整iFrame的大小以适应URL的内部内容,有大量的文章和问题,这些URL不是跨域的,或者是跨域的,但由开发人员控制 但是我找不到如何调整iFrame的大小,对于iFrame,我没有任何控制权,因此无法postMessage返回到父级 这可能吗 i、 想象一下,我的网站mysite.com正在尝试构建CNN.com。如何调整CNN iFrame的大小,以便在不需要滚动CNN iFrame的情况下显示iFrame的全部内容 编辑 由于iFrame是跨域的,由于安全限制,读取iF

关于如何调整iFrame的大小以适应URL的内部内容,有大量的文章和问题,这些URL不是跨域的,或者是跨域的,但由开发人员控制

但是我找不到如何调整iFrame的大小,对于iFrame,我没有任何控制权,因此无法
postMessage
返回到父级

这可能吗

i、 想象一下,我的网站mysite.com正在尝试构建CNN.com。如何调整CNN iFrame的大小,以便在不需要滚动CNN iFrame的情况下显示iFrame的全部内容

编辑

由于iFrame是跨域的,由于安全限制,读取iFrame内容并根据内容高度重新调整其大小的简单解决方案无法工作。例如,Chrome在尝试读取不同域上iFrame的内容时会出现以下异常:

未捕获的安全性错误:未能从>'HTMLIFrameElement'读取'contentDocument'属性: 阻止了原点为“”的帧访问 原点为“”的框架。协议、域、, 端口必须匹配


因此,常见的解决方案是使iFramed内容与宿主页面通信,如图所示。然而,由于我的案例中的URL CNN.com完全是第三方的,不受我的控制,我无法遵循跨域解决方案。

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


也许一些复杂的服务器端算法可以请求页面并尝试给出关于大小的提示,但在客户端却无能为力。

这可能吗?如果是这样,我在这里发表评论是为了查看更新或答案。如果您是以cnn.com作为源创建iFrame,您可以完全控制它。我在你的问题中遗漏了什么?如果iframe在你的网站“mysite.com”上,那么你可以根据自己的需要调整iframe的大小。您无法控制iframe内容的呈现方式。我真的不明白问题出在哪里。@Lance对于iFrame的大小调整,许多解决方案需要在主机页(即mysite.com)和iFrame的源代码(即CNN.com)中使用自定义代码来进行大小调整。然而,很明显,我对CNN.com没有任何控制权,也无法在CNN的网站中添加自定义代码,使其与主机页面(mysite.com)进行通信。因此,您希望获得CNN网站的高度,然后将iframe更改为完全相同的高度(因此我猜不会显示滚动条)?