mootools在IE中的iframe中存储父变量

时间:2012-03-29 21:01:35

标签: javascript internet-explorer iframe mootools

我使用milkbox显示叠加窗口,叠加层基本上是iframe。

我有一些在iframe和body.unload事件中运行的js代码我希望在父文档中存储一些内容。

想象一下

->  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存储var i。问题是只有IE不想检索这个。我试过window.parent.myVar = myVar,当onClose事件被触发时它无法识别......

我尝试将它存储在窗口中,没有...就像在iframe中发生的任何事情是分开的...这不是十字架!那么为什么会这样呢?

我尝试过chrome和firefox,两者都可以正常工作。只有疯狂的IE才不允许我存储检索内容。

请帮助!!

1 个答案:

答案 0 :(得分:0)

如果他们来自同一个域,我们可以排除安全问题,这将起作用:

父和iframe都必须包含mooTools

父窗口

// Within your onClose handler:

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

I帧:

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

 window.addEvent("beforeunload", store);

在IE7中测试IE8 FF11有效!