2012-03-29 44 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的工作!