使用打字稿我想如下實現跨域通信爲this thread實現跨域通信
我的代碼中提到的是:
var iframeElement = document.getElementById("myIframe");
iframeElement.document.contentWindow.postMessage('hello', '*');
但在文件之後第二行,我沒有得到的處理contentwindow
。
有人可以提供解決方案嗎?
使用打字稿我想如下實現跨域通信爲this thread實現跨域通信
我的代碼中提到的是:
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', '*');
感謝它的工作:) – user2108168 2013-02-26 16:31:43
@ user2108168偉大 - 很高興有幫助。 – JcFx 2013-02-26 16:44:18
歡迎SO。請參閱常見問題(http://stackoverflow.com/faq)。我們通常會嘗試突出顯示代碼內容,以便閱讀,而且我們通常不會簽署我們的名字。我不確定上述問題中'處理'是什麼意思,你能否嘗試再次解釋這個問題? – JcFx 2013-02-25 17:28:46