使用 TypeScript 我正在尝试实现此线程中提到的跨域通信
我的代码如下:
var iframeElement = document.getElementById("myIframe");
iframeElement.document.contentWindow.postMessage('hello', '*');
但是在文档之后的第二行中,我没有得到contentwindow
.
有人可以提供解决方案吗?
使用 TypeScript 我正在尝试实现此线程中提到的跨域通信
我的代码如下:
var iframeElement = document.getElementById("myIframe");
iframeElement.document.contentWindow.postMessage('hello', '*');
但是在文档之后的第二行中,我没有得到contentwindow
.
有人可以提供解决方案吗?
如果您所说的“句柄”是指您没有获得代码完成,那是因为contentWindow
它是 的属性,而iframeElement
不是文档的属性(顺便说一下,因为结果document.getElementById
是通用的HtmlElement
,而不是 iframe)。
尝试这个:
// Cast the result of getElementById, so you get an iframe and not a generic HtmlElement:
var iframeElement:HTMLIFrameElement = <HTMLIFrameElement>document.getElementById("myIframe");
// Then reference the contentWindow property of the iframe element
iframeElement.contentWindow.postMessage('hello', '*');