2012-03-29 46 views
0

我使用milkbox來顯示覆蓋窗口,覆蓋層基本上是一個iframe。mootools在IE中iframe中的父級存儲變量

我有一些運行在iframe和body.unload事件我想在父文檔中存儲的東西的代碼。

圖片像這樣

-> overlay is open: 
    bla... 
    bla... 

    function store() { window.parent.document.store('myVar',var);} 
    document.body.onunload = store; 

<- overlay got closed 
    onClose event gets triggered 
    var myVar = document.retrieve('myVar'); 

在這一點上,我應該有一個變種,我從iframe中存儲。問題是隻有IE不想檢索這個。我試過window.parent.myVar = myVar,當onClose事件被觸發時,它不會被識別...

我試圖將它存儲在窗口中,沒有任何東西......它就像在iframe中發生的任何事情是分開的...這不是十字架!那麼爲什麼會發生?

我試過Chrome和Firefox,兩者都應該如此。只有瘋狂的IE不想讓我存儲檢索的東西。

請幫忙!!

+0

是來自同一個域的iframe嗎?如果沒有,你將無法做到這一點。 – 2012-03-30 18:57:45

回答

0

如果他們是來自同一個域名,我們可以排除安全的問題,這將工作:

兩家母公司和iframe將有包括MooTools的

父窗口

// Within your onClose handler: 

var myVar = $(document).retrieve('myVar')); 
alert(myVar); 

IFRAME:

var store = function() { 
     $(window.parent.document).store('myVar','123'); 
    } 

window.addEvent("beforeunload", store); 

在IE7 IE8測試FF11的工作!