我试图获取内容窗口高度以在角度 5 中设置 iframe 高度,但我无法做到这一点,因为我在我的 src 标签中使用了不同的域 url。我收到异常,例如"由于 cors 而被阻止"。
.HTML:
<iframe id="appIframe" src="http://docstation-st1.dvllb.travp.net/DocStation" (load)="resizeIframe($event)" scrolling="no" frameborder="0" ></iframe>
家组件.ts
resizeIframe(obj) {
var height = obj.target.contentDocument.innerheight;
......
}
例外:
无法从"HTMLIFrameElement"读取"contentDocument"属性:阻止了原点为"http://OtherDomain/home.html"的帧访问跨源帧
试:
我在 iframe 调整器下面尝试过,但没有运气
https://github.com/davidjbradshaw/iframe-resizer/issues/478
https://github.com/davidjbradshaw/iframe-resizer
有人可以在这个问题上帮助我。
要从不同的原点 iframe 获取属性的值,可以使用 Window.postMessage 进行主机到 iframe 的通信。
您可以访问不同来源 iframe 的代码,然后从那里发送一个事件并在您的主机组件中收听它。