在iframe的父窗口中设置variables

我有一个embedded式iframe的父文档。 在iframe中我有一个上传字段。 一旦用户select一个file upload,我触发一个jQuery的变化事件。 在那个事件中,我想在父窗口中设置一个variables为true,以便父级知道上传已经开始。

有谁知道如何做到这一点?

正在尝试这个,但没有工作:

var test; $("#newsletter_email").change(function() { parent.window.test = true; }); $('#send').click(function() { if (test) { alert('File has been uploaded!'); } else { alert('You need to upload a file'); } }); 

全局作用域中的variables作为其包含的window对象的DOM属性自动公开。

这意味着

 var foo = 'bar'; 

是类似的

 window.foo = 'bar'; 

这意味着你可以读取你可以获取的任何 window对象的全局范围。 我们在这里还可以暗示的是, window使用是隐含的 。 即使你没有明确地键入“窗口”,它仍然在那里。

而且由于框架本身也是作为当前window对象的DOM属性自动公开的,这意味着你也可以访问任何其他框架的window对象。

window对象的parent属性保存对该window parent window对象的引用(如果有的话)。 由于iframes肯定有一个父窗口,那么我刚刚input的所有东西归结为这一点

 // set the global variable 'foo' in the parent global scope parent.foo = 'bar'; 

您也可以将其存储在localStorage中并读取和写入,只要主文档和iframe共享相同的域。