1

TypeScriptを使用して、このスレッドで言及されているようにクロスドメイン通信を実装しようとしています

私のコードは次のとおりです。

 var iframeElement = document.getElementById("myIframe");
 iframeElement.document.contentWindow.postMessage('hello', '*');

しかし、ドキュメントの後の2行目では、のハンドルを取得していませんcontentwindow

誰かが解決策を提供できますか?

4

1 に答える 1

2

「ハンドル」が意味するのは、コードが完了していないということです。これは、がドキュメントではなく、contentWindowのプロパティであるためです(また、偶然にも、の結果がiframeではなく汎用であるためです)。iframeElementdocument.getElementByIdHtmlElement

これを試して:

// 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', '*');
于 2013-02-25T17:33:23.840 に答える