在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共享相同的域。