2010-06-16 161 views
0

因此,在Facebook中,我無法調用myFrame.window來獲取iframe父窗口。 我該怎麼辦?對於Facebook Apps,如何在iframe中調用父窗口?

我試圖archieve是:我有一個彈出(div)將加載一個iframe。
然後在iframe中會有一個按鈕。一旦用戶點擊了iframe中的按鈕,我想關閉彈出窗口(div)。
通常,我需要獲取父窗口。然後我可以銷燬彈出式div。但在臉書上,我該怎麼辦?任何替代方法來做到這一點?

我不想刷新頁面。 :)

回答

0

如果您無法從iframe訪問父級,則可以嘗試從父級向iframe發送函數引用。

在你的父母:

iframe.contentWindow.closeFn = function() { /* destroy popup */ } 

然後,在你的iframe,叫window.closeFn()當你想消滅彈出。

contentWindow可能有一些跨瀏覽器的問題,你可以讀出更多的here

我沒有在Facebook的自己試過這 - 不保證它會在那裏工作,但值得一試。

+0

對不起。謝謝,但它沒有幫助。 Facebook不允許直接訪問某些函數/變量。例如窗口對象。 如果不是Facebook,我知道如何使它工作。 :) 謝謝。 – murvinlai 2010-06-16 09:20:50

+0

我不認爲Facebook可以在你的iframe內對你的iframe的窗口對象進行任何操作嗎?如果他們不允許訪問iframe.contentWindow,那麼這也沒有用。 – 2010-06-16 14:52:59