2012-09-10 67 views
1

我一直在Firefox和Internet Explorer中使用postMessage遇到問題,而谷歌瀏覽器每次聲音都很好。JavaScript iFrame to Parent postMessage問題

我想要做的是使用postMessage從iFrame到我父母的行動closeForm。 iFrame URL是父級的子域,iFrame源本身也有document.domain = document.domain,我認爲它應該對我的問題進行排序。

目前的iFrame的JavaScript呼籲window.top.postMessage('closeForm', '*')這正如我提到的作品在Chrome中請客,但在Firefox,我得到ReferenceError: window is undefined所以我改變window.topparent.postMessage但我得到得到同樣的事情只能用parent is not defined

同樣的事情在IE9中也不起作用。有什麼建議麼?

+1

我愉快地使用[jQuery的的postMessage(http://benalman.com/projects/jquery-postmessage-plugin/),它提供給你的情況下,回退瀏覽器不支持'postMessage'。試試看! – Pioul

+0

但是Firefox確實支持它,IE8(我們支持),我會檢查出來,但是應該有一個解決這個問題的方法嗎? – James

+0

嗯,它確實應該工作,但沒有任何代碼,這是我可以幫助你多遠。 – Pioul

回答

-2

window.parent作品,我在Firefox OS X上

+0

好的,你可以嘗試去http://caribbeanwarehouse.co.uk/hotels/mexico/excellence_riviera_cancun.php並點擊'請求回撥'使用細節;作爲電子郵件名稱和[email protected]進行測試,觀看Firefox中的Firebug控制檯。 – James

+1

yup,點擊「返回網站」時出現「窗口未定義」 –

+0

您是否嘗試過在主頁面上調用postMessage()以外的函數?也許這是一個特定於postMessage的FF錯誤... –

1

看來您在使用postmessage麻煩。你可以使用jQuery postMessage。這是我在一些iframe跨域問題中使用的,並且工作正常。這裏是例子。

jQuery postMessage